Articulo de referencia

Patrón de corredor

El patrón broker es un patrón arquitectónico que se puede utilizar para estructurar sistemas de software distribuidos con componentes desacoplados que interactúan mediante llama...

El patrón broker es un patrón arquitectónico que se puede utilizar para estructurar sistemas de software distribuidos con componentes desacoplados que interactúan mediante llamadas a procedimientos remotos . Un componente broker es responsable de coordinar la comunicación, como el reenvío de solicitudes, así como de transmitir resultados y excepciones. [ 1 ]

Definición

El patrón broker es un patrón de arquitectura que implica el uso de una entidad de software intermediaria, denominada "broker", para facilitar la comunicación entre dos o más componentes de software. El broker actúa como intermediario entre los componentes, permitiéndoles comunicarse sin que estos tengan conocimiento de la existencia de los demás.

En el patrón de intermediario, este se encarga de recibir los mensajes de un componente y reenviarlos al destinatario correspondiente. Los componentes que se comunican a través del intermediario se denominan servidores o clientes. El intermediario también puede realizar tareas adicionales, como filtrar y modificar mensajes, garantizar la calidad del servicio (QoS) (por ejemplo, 0 para "como máximo una vez"), la seguridad o proporcionar servicios adicionales a los componentes de software.

El patrón broker permite que los componentes permanezcan desacoplados y centrados en sus propias responsabilidades, a la vez que pueden comunicarse y colaborar con otros componentes del sistema. También puede utilizarse para reducir el número de dependencias entre componentes, lo que hace que el sistema sea más flexible y fácil de mantener.

Terminología

Corredor

  • Mantenga una tabla de enrutamiento de los componentes de software registrados.
  • Mantenga una tabla de filtros para redirigir los mensajes en tránsito a los componentes de software correctos.
  • Puede garantizar funcionalidades adicionales como la seguridad de la información y la calidad del servicio .

Servidor

  • Componentes de software responsables de enviar un mensaje.
  • También se le conoce como editorial .

Cliente

  • Componentes de software que se han suscrito y esperan un mensaje específico.
  • También se le puede denominar consumidor o suscriptor.

Ventajas

Fuente: [ 2 ]

  • Es posible realizar cambios dinámicos, añadir, eliminar y reubicar componentes.
  • Una fuente de comunicación con el intermediario, que define la interfaz.
  • Los componentes no necesitan conocerse entre sí.

Desventajas

  • Un componente central que debe ser robusto y estar escrito de manera eficiente.
  • No hay coherencia en los datos de los mensajes transmitidos.

Implementación del patrón en la vida real

Confusión en torno al patrón

El patrón de intermediario y el patrón de publicación-suscripción tienen algunas similitudes y a veces se confunden. [ 3 ] Sin embargo, en lo que respecta a la representación, existen algunas diferencias fundamentales:

  • El patrón arquitectónico Broker está representado por un diagrama de muchos a uno a muchos .
  • El patrón arquitectónico Publicar-suscribir se representa mediante un diagrama de muchos a muchos . Aquí, las funcionalidades de mensajería se ocultan como una preocupación transversal .

Referencias

  1. "Solución: Usar un intermediario - Arquitectura de software orientada a patrones para principiantes [ Libro ] " . www.oreilly.com . Consultado el 26 de marzo de 2023 .
  2. Stal, Michael (1 de enero de 1995). "El marco arquitectónico del corredor" . Recuperado el 26 de marzo de 2023 a través de www.academia.edu.{{cite journal}}: Para citar una revista se requiere |journal=( ayuda )
  3. Equipo de HiveMQ. "Explicación del establecimiento de la conexión entre el cliente, el broker y el servidor MQTT: Fundamentos de MQTT: Parte 3" . www.hivemq.com . Consultado el 26 de marzo de 2023 .