¿Qué es un bróker de mensajería?

La forma en que se comunican las aplicaciones se está convirtiendo en un desafío cada vez mayor. El uso de middleware de mensajería simplifica este desafío y permite una infraestructura de comunicaciones común que crece y se adapta para cumplir con las condiciones más exigentes. Pero la comunicación puede suceder de muchas formas diferentes y la forma en que el middleware de mensajería proporciona esa comunicación no es diferente.

Diagrama del bróker de mensajería

Un método de comunicación utilizado por el middleware de mensajería es un modelo basado en servidores que utiliza un bróker de mensajería. Con un bróker de mensajería, la aplicación fuente (productor) envía un mensaje a un proceso del servidor que podrá proporcionar clasificación de datos, ruteo, traducción de mensajes, persistencia y entrega a todos los respectivos destinatarios (consumidores). La característica que define a un bróker de mensajería es que el bróker en sí es un servicio discreto. Los productores y consumidores se comunican con el bróker mediante protocolos estándares o patentados. El bróker de mensajería generalmente proporciona todo el manejo del estado y el seguimiento de los clientes, de modo que las aplicaciones individuales no requieren asumir esta responsabilidad, y la complejidad de la entrega de mensajes está integrada en el propio bróker de mensajería.

Existen dos formas básicas de comunicación con un bróker de mensajería:

  • Publicar y suscribir (temas)
  • Punto a punto (colas)
Elegir entre Kafka, Pulsar y otras tecnologías de mensajería
Elegir entre Kafka, Pulsar y otras tecnologías de mensajería
¿Cómo elegir la tecnología de mensajería adecuada para su negocio? Lea nuestro informe técnico más reciente para obtener más información.

Publicar y suscribir mensajes

En un sistema de mensajería de publicación y suscripción, los productores envían mensajes sobre un tema. En este modelo, el productor se conoce como publicador y el consumidor se conoce como suscriptor. Uno o varios publicadores pueden publicar sobre el mismo tema, y muchos suscriptores pueden recibir un mensaje de uno o varios publicadores. Los suscriptores se suscriben a temas y todos los mensajes publicados sobre el tema son recibidos por todos los suscriptores sobre el tema. Este modelo proporciona una entrega simple impulsada por el interés en función de los temas a los que se suscriben las aplicaciones.

Comunicación punto a punto

Las comunicaciones punto a punto en su forma más simple tienen un productor y un consumidor. Este estilo de mensajería generalmente utiliza una cola para almacenar los mensajes enviados por el productor hasta que el consumidor las reciba. El productor de mensajes envía el mensaje a la cola; el consumidor de mensajes recupera los mensajes de la cola y envía una confirmación de que se recibió el mensaje. Más de un productor podrá enviar mensajes a la misma cola y más de un consumidor podrá recuperar mensajes de la misma cola. Cuando se utilizan varios consumidores, cada consumidor normalmente recibe una parte del flujo de mensajes para permitir el procesamiento simultáneo.

Brókers de mensajería basados en servidores

Los brókers de mensajería basados en servidores tienen muchas ventajas, incluido el procesamiento centralizado, la distribución de mensajes centralizada y la persistencia de datos centralizada. Los ejemplos incluyen muchos brókers de mensajería patentados, implementaciones de Java Message Service (JMS) y productos de código abierto como Apache Kafka, Apache Pulsar y Eclipse Mosquitto.

En algunos casos se necesita un modelo de comunicaciones descentralizado. Este enfoque "sin bróker" o de par a par generalmente proporciona un mecanismo para admitir la comunicación directa entre aplicaciones para casos de uso donde se requiere una latencia muy baja.