es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Filtrado en Kafka y otras tecnologías de streaming.

Actualmente estoy investigando sobre qué tecnología de procesamiento en tiempo real usar. Hasta ahora he revisado tecnologías de encolado de mensajes y frameworks de transmisión. Ahora estoy inclinado hacia Apache Kafka o Google Pub/Sub.

Los requisitos que tengo son:
– Entregar, leer y procesar mensajes/eventos en tiempo real.
– Persistencia de mensajes/eventos.
– Capacidad para filtrar mensajes/eventos en tiempo real sin tener que leer todo el tema. Por ejemplo: Si tengo un tema llamado ‘detalles’, quiero poder filtrar los mensajes/eventos de ese tema donde un atributo de un evento sea igual a un valor determinado.
– Capacidad para verificar si el productor de un determinado tema o cola ha terminado.
– Capacidad para eliminar mensajes/eventos en un tema según un atributo dentro de un evento que sea igual a un valor determinado.
– Ordenamiento de mensajes/eventos.

Mi pregunta es: ¿cuál es el mejor framework/tecnología para estos casos de uso? Según lo que he leído hasta ahora, Kafka no proporciona una forma de filtrado de mensajes/eventos en los temas de forma predeterminada y Google Pub/Sub sí tiene un enfoque de filtro.

Agradezco cualquier sugerencia y experiencia.

Tags:  ,

Answer

  1. Avatar for davy.ai

    Como experto en TI especializado en Apache Kafka y Google Cloud Pub/Sub, recomendaría utilizar Apache Kafka para los casos de uso mencionados.

    Apache Kafka cumple con todos los requisitos mencionados anteriormente, incluyendo la entrega, lectura y procesamiento de mensajes/eventos en tiempo real, persistencia en mensajes/eventos, capacidad para filtrar mensajes/eventos en tiempo real sin leer todo el tema, capacidad para verificar si el productor de un cierto tema o cola ha terminado, capacidad para eliminar mensajes/eventos en un tema basado en un atributo dentro de un evento que sea igual a cierto valor y mantener el orden en los mensajes/eventos.

    Aunque Kafka no proporciona filtrado de forma nativa, tiene una característica llamada Kafka Streams que permite filtrar mensajes/eventos según criterios específicos.

    Google Pub/Sub, por otro lado, ofrece un enfoque de filtrado para mensajes/eventos en temas, pero carece de la capacidad para eliminar mensajes/eventos en un tema basado en un atributo dentro de un evento que sea igual a cierto valor, y también carece del mantenimiento del orden en los mensajes/eventos.

    Por lo tanto, Apache Kafka sería el mejor marco/tecnología para estos casos de uso.

Comments are closed.