¿Cuáles son las trampas del uso de Kafka para ingerir 100,000 eventos por segundo versus kinesis?

Querrá asegurarse de que su Apache ZooKeeper esté bien ajustado y optimizado para el rendimiento, pero es difícil dar consejos específicos aquí: no todos los eventos son iguales (y su tamaño realmente importa aquí), y no todos cargan los patrones son los mismos (el promedio sostenido de 100K / seg con una desviación de soporte baja es muy diferente a la carga máxima de 100K / seg). Entonces, si desea una orientación más específica, puede ser útil medir / estimar / describir su carga con algo más que un rendimiento de eventos / seg.

Independientemente de todo eso, en ambos sistemas, un riesgo particular con un rendimiento como el que está describiendo está en el lado del consumidor (en lugar de la ingestión). Asegúrese de tener un sistema de trabajo para procesar estos eventos de manera eficiente. Si obtiene copias de seguridad de la cola y no puede detener la fuente (por ejemplo, si es la estación de bomberos de Twitter o una campaña publicitaria o, como es donde trabajo, son los eventos de sus clientes y no los suyos), querrá asegúrese de tener formas de aliviar la presión al escalar elásticamente a los trabajadores, y que tenga registros en caso de que se desborden sus topes. La configuración predeterminada de Kafka para mantener registros sin procesar es de 7 días, así que preste atención a esto y cambie la configuración si se encuentra con problemas de desbordamiento.

Puede encontrar esta respuesta útil para reflexionar más sobre el tema:

La respuesta de Kyle Wild a ¿Cuál de Amazon Kinesis y Apache Kafka es la más probada y de alto rendimiento?

Creo que encontrará que Kafka es una opción de mayor rendimiento y más flexible que Kinesis, por lo que no hay dificultades a este ritmo. Aquí hay una buena comparación de las dos ofertas ¿Cuál de Amazon Kinesis y Apache Kafka es la más probada y de alto rendimiento?

Las dificultades para la ingestión de datos generalmente provienen de la validación y el procesamiento de los datos en lugar de simplemente moverlos desde el origen al sumidero.

No dice cómo / si desea transformar, enriquecer o filtrar el flujo de datos entrantes ni de dónde proviene o hacia dónde va. Puede encontrar que Kafka Connect y Kafka Streams le brindan más funcionalidad que solo la mensajería básica de pub / sub que es proporcionada por Kafka core o Kinesis Streams (desafortunadamente llamado confusamente).