topics their that servers regardless log leader kafka follower are apache-kafka

apache kafka - their - ¿Kafka está lista para el uso en producción?



kafka download (4)

Tengo una aplicación en producción que tiene que procesar varios gigabytes de mensajes por día. Me gusta mucho la arquitectura y el rendimiento de Kafka; se ajusta perfectamente a mis necesidades.

Me gustaría reemplazar mi capa de mensajería con Kafka en algún momento. ¿Es la versión 0.7.1 lo suficientemente buena para uso de producción en términos de estabilidad y consistencia en el rendimiento?


Debo estar de acuerdo con Dave, Kafka es una buena herramienta, pero le faltan algunas características básicas que algunas se pueden hacer manualmente, pero luego hay que pensar qué ofrece Kafka. Algunas cosas que faltan son:

  • (Como dijo Dave) Vaciando los mensajes al disco cuando el productor no los envía
  • La capacidad de los consumidores para rastrear qué mensajes se manejaron (no solo se consumieron) y cuáles no en caso de reinicio.
  • Monitoreo: una forma de recibir el estado actual de las entidades en el sistema, como el tamaño actual de la cola en el productor o el ritmo de escritura / lectura en los corredores (se pueden hacer pero no son parte de la herramienta).

Definitivamente, ya está en uso en varias compañías de Big Data, incluido LinkedIn, donde se creó (y posteriormente se abrió), y Tumblr. Solo Tumblr maneja muchos gigabytes de mensajes por día. Estoy seguro de que LinkedIn también está allí. Puede ver una lista de empresas conocidas que actualmente lo utilizan aquí:

https://cwiki.apache.org/confluence/display/KAFKA/Powered+By

Además, asegúrese de suscribirse a su lista de correo, hay muchas personas que lo prueban activamente y lo usan en entornos de producción.

Estoy seguro de que puede manejar cualquier volumen que le puedas lanzar.


Hay una característica crítica que creo que Kafka falta antes de que esté lista para la producción.

"Se están vaciando los mensajes en el disco si el productor no puede comunicarse con ningún corredor de Kafka" El problema se ha presentado hace mucho tiempo aquí: https://issues.apache.org/jira/browse/KAFKA-156

Esta característica hará que la línea completa de eventos de Kafka sea aún más sólida para algunos casos de uso cuando el productor siempre tiene que poder enviar eventos. Por ejemplo, cuando realiza un seguimiento de las visitas a la página o los clics de un botón similar y no quiere perderse ningún evento, incluso si no se puede acceder a todos los agentes de Kafka.


He usado kafka durante bastante tiempo. Se preferiría usar clientes nativos de Java y Python.

Tuve que luchar mucho para encontrar un cliente de node.js adecuado. literalmente, reescribí mi código completo muchas veces utilizando diferentes clientes, ya que tenían muchos errores. Finalmente se estableció con franz-kafka para node.js.

Aparte de eso, mantener las compensaciones del consumidor es un poco difícil. Faltan algunas buenas características como los intercambios que existen en Apache Qpid o RabbitMQ basado en AMQP

Ya que está distribuido, admite mensajes fuera de línea y el rendimiento es realmente impresionante. Yo también lo preferí :)