2012-09-24 20 views
16

Puede que esta pregunta se haya formulado antes, pero creo que es bueno considerarla de nuevo hoy dado que estas tecnologías han madurado. Estamos buscando utilizar uno de flume, kafka, scribe u otros para almacenar la transmisión de información de perfil de Facebook y Twitter en hbase para realizar análisis más adelante. Estamos considerando el uso de canalizaciones para este propósito, pero no he trabajado con otras tecnologías para tomar una decisión informada. ¡Cualquiera que pueda arrojar algo de luz será genial! Muchas gracias.flume vs kafka vs others

+0

cuando se habla de canal, es de suponer que usted se refiere a aforador-ng? porque el viejo canal es muy diferente de flume-ng. El enlace – Shengjie

Respuesta

18

Mediawiki (Wikipedia) pasó por esto y publicó un buen artículo de cómo llegaron a su elección (Kafka) vs Scribe, Flume y otros.

http://www.mediawiki.org/wiki/Analytics/Kraken/Request_Logging

nuevo enlace:
https://wikitech.wikimedia.org/wiki/Analytics/Kraken/Logging_Solutions_Recommendation

resumen para la posteridad:.

"Nuestra recomendación es Apache Kafka, un sistema de mensajería-pub sub distribuida diseñada para un rendimiento Evaluamos acerca una docena [1] de los mejores sistemas de su clase extraídos de los dominios de recopilación de registros distribuidos, procesamiento de flujo/CEP y sistemas de mensajería en tiempo real. y características similares, difieren sustancialmente en la implementación, y cada una está especializada en un perfil de trabajo particular (una discusión técnica más exhaustiva está disponible como un apéndice).

"Kafka se destaca porque está especializada en rendimiento y explícitamente distribuida en todos los niveles de su arquitectura. Curiosamente, también está lo suficientemente preocupado con la conservación de recursos [2] para ofrecer soluciones sensatas que aflojan garantías a cambio de rendimiento. es posible que Facebook o Google no se vean como una característica importante en los sistemas que diseñan. Las restricciones generan creatividad.

"Además, Kafka tiene varias ventajas de particular interés para los lectores de Operaciones. Si bien está escrito en Scala, se envía con una biblioteca nativa de productores de C++ que se puede incrustar en un módulo para nuestros servidores de caché, obviando la necesidad de ejecutar la JVM en esos servidores. En segundo lugar, los productores pueden configurarse para realizar solicitudes por lotes para optimizar el tráfico de la red, pero no crean un registro local persistente que requeriría mantenimiento adicional. El uso de E/S y memoria de Kafka se deja al sistema operativo en lugar de a la JVM [3].

"Kafka fue escrito por LinkedIn y ahora es un proyecto de Apache. En la producción en LinkedIn, aproximadamente 10.000 productores son manejados por ocho servidores de Kafka por el centro de datos. Estos grupos se consolidan sus flujos en un único centro de datos de análisis, que Kafka apoya de la caja a través de una configuración simple de duplicación

"Estas características son muy adecuadas para nuestros casos de uso previstos; incluso aquellos que no tenemos la intención de utilizar, como el sharding y el enrutamiento por categorías de "temas", son interesantes y podrían ser útiles en el futuro a medida que ampliemos nuestros objetivos.

"El resto de este documento se sumerge en estos temas en mayor detalle ..."

+0

parece estar roto ahora. – tehAon

Cuestiones relacionadas