Flujo de trabajo con Kafka para enrutar microservicios automáticamente

Clase 6 de 24Curso de Introducción a los Microservicios

Resumen

Crear una arquitectura efectiva con microservicios requiere análisis profundo, especialmente en la gestión de mensajes. Implementar Kafka técnicamente es sencillo, pero decidir correctamente dónde y cómo usarlo es lo realmente complejo y clave en este proceso.

¿Cómo funciona el flujo de trabajo con Kafka en microservicios?

Un correcto flujo de trabajo, usando Kafka como agente de mensajería, se compone generalmente de colas o queues y tópicos o topics. En este contexto, el primer servicio, denominado AdMember, se activa mediante HTTP, es decir, por acciones directas del usuario. Este servicio deposita la información recabada directamente en una cola.

La cola a su vez activa otro servicio denominado Pickage, que utiliza tópicos para procesar información de manera eficiente. Aquí Kafka juega un rol esencial categorizando mensajes por tópicos específicos para cada proceso subsecuente.

¿Qué determina la ruta final del mensaje en un sistema de microservicios?

La ruta final a seguir dependerá completamente de la información proporcionada inicialmente. Por ejemplo, al utilizar un campo como el año de nacimiento, el servicio Pickage automáticamente determina hacia qué tópico derivar la información, dirigiéndola al tópico de adultos o de niños, dependiendo de si el usuario es mayor o menor de dieciocho años.

Esto permite que exista solo un endpoint inicial, simplificando enormemente la arquitectura y facilitando la gestión del sistema.

¿En qué se diferencian los tópicos y las colas como herramientas en Kafka?

Las colas gestionan la entrada de información inicial, mientras que los tópicos permiten procesar y dirigir dicha información de manera segmentada. Una ventaja significativa es que aunque ambos tópicos puedan conducir a sus servicios correspondientes al mismo destino final (una base de datos), Kafka permite que estos mensajes lleguen a diferentes tablas, proporcionando así organización e independencia al sistema.

En resumidas cuentas, el uso correcto de un broker de mensajería como Kafka es esencial para una arquitectura limpia, organizada y eficiente en sistemas basados en microservicios. Comprender en qué situaciones utilizar cada herramienta será resultado de la práctica constante en el desarrollo de estos sistemas.

¿Has experimentado ya con una arquitectura similar? ¡Déjanos tu experiencia en los comentarios!