Un bróker de mensajería es un patrón arquitectónico para la validación, la transformación y el ruteo de mensajes. Es un mecanismo mediador de la comunicación entre aplicaciones, permitiendo minimizar el grado de conocimiento mutuo que estas aplicaciones necesitan tener, para poder intercambiar mensajes, implementando así efectivamente su desacoplamiento.
Proposito:
recibir mensajes entrantes desde las aplicaciones y llevar a cabo determinadas acciones con ellas.
Aplicacion:
Puede recibir mensajes de varios destinos, determinar el destino correcto y la ruta del mensaje en el canal correcto. Implementar el funcionamiento interno de la Message Broker usando los patrones de diseño.
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhmgGFPbdCd0MWPVc1sbnrTdArwCJIaVvybFqm1TgMBMsKtHtcOlrYEKU93PMVFTET-NNOuXRl5ZyvXMq5J7FsK3bpG_ZInZ9d8v4iSOjwy373ID26iXWEZqPwdPP_B-eu2lWKLSEEfYAE/s320/message_broker.png)
El uso de un Message Broker central se refiere a veces como hub-and-spoke estilo arquitectónico, que parece ser un nombre descriptivo cuando se mira en el diagrama anterior.
Ejemplos:
Rutear mensajes a una o más destinaciones distintas
Transformar mensajes a una representación alternativa
Realizar una agregación de mensajes, descomponer mensajes en varios mensajes componentes, reenviándolos a sus respectivos destinos, para posteriormente recomponer las respuestas en un único mensaje que será remitido al usuario
Interactuar con un depósito externo para aumentar un mensaje o almacenarlo
Invocar un servicio Web para consultar datos
Responder a eventos o errores
Proveer un ruteo de los mensajes basado en su contenido o en sus tópicos empleando el modelo de publica/suscribe
Ventajas:
- Ruta un mensaje a varios destinos, usando las reglas que actúan sobre el contenido de uno o más de los campos en el mensaje o el mensaje de encabezado.
- Transformar un mensaje, por lo que las aplicaciones que utilizan diferentes formatos pueden intercambiar mensajes en sus propios formatos.
- Guardar un mensaje o una parte de un mensaje, a una base de datos.
- Recuperar un mensaje, o parte de un mensaje, a partir de una base de datos.
- Modificar el contenido de un mensaje, por ejemplo, mediante la adición de los datos extraídos de una base de datos.
- Publicar un mensaje para que esté disponible para otras aplicaciones. Otras aplicaciones pueden elegir recibir las publicaciones que se refieren a temas específicos, o que tienen un contenido específico, o ambos.
- Crear nombres estructurados tema, las funciones de control de acceso basadas en temas, las suscripciones basadas en el contenido, y los puntos de suscripción.
No hay comentarios:
Publicar un comentario