Pub-Sub (Publicar-Suscribirse)
Publicar-suscribirse (pub-sub) es un patrón de mensajería en el que los emisores publican eventos en un intermediario central sin saber quién los recibirá, y los suscriptores se registran para tipos específicos de eventos y reciben los eventos correspondientes de manera asíncrona.
Comprendiendo Pub-Sub (Publicar-Suscribirse)
Pub-sub desacopla al emisor de un mensaje (publicador) de sus receptores (suscriptores). Los publicadores emiten eventos sin necesidad de saber o preocuparse por qué suscriptores están interesados. Los suscriptores se registran para los tipos de eventos que les interesan y reciben los eventos relevantes sin tener que hacer sondeos ni mantener conexiones directas con los publicadores. Este desacoplamiento facilita la ampliación del sistema: agregar un nuevo suscriptor para un caso de uso no requiere cambios en los publicadores ni en los suscriptores ya existentes. Intermediarios de mensajes como RabbitMQ, Apache Kafka y Google Cloud Pub/Sub implementan este patrón a gran escala.
Cómo GAIA usa Pub-Sub (Publicar-Suscribirse)
GAIA utiliza la mensajería pub-sub a través de RabbitMQ para coordinar los flujos de trabajo de sus agentes. Cuando llega un correo electrónico, el servicio de recepción de correos publica un evento en el broker. Varios suscriptores pueden reaccionar: el agente de triaje de correos analiza la urgencia, el agente de extracción de tareas crea tareas y el agente de calendario verifica referencias de programación. Este diseño pub-sub permite a GAIA procesar el mismo evento en múltiples flujos de trabajo paralelos de manera eficiente.
Conceptos relacionados
Arquitectura orientada a eventos
La arquitectura orientada a eventos (EDA, por sus siglas en inglés) es un patrón de diseño de software donde los componentes del sistema se comunican a través de eventos — notificaciones discretas de que algo ha sucedido — permitiendo un acoplamiento flexible, capacidad de respuesta en tiempo real y sistemas reactivos escalables.
Cola de mensajes
Una cola de mensajes es un sistema que almacena mensajes (tareas o eventos) enviados por productores y los entrega a consumidores para su procesamiento, desacoplando a ambos y permitiendo una comunicación asíncrona y confiable entre los componentes del sistema.
Webhook
Un webhook es un mecanismo de devolución de llamada HTTP donde un sistema envía una solicitud HTTP automatizada a una URL específica cada vez que ocurre un evento definido, lo que permite notificación e integración en tiempo real entre servicios sin sondeo.
Automatización basada en eventos
La automatización basada en eventos es un patrón en el que los flujos de trabajo se desencadenan automáticamente en respuesta a eventos específicos, como la llegada de un nuevo correo electrónico, la creación de un evento de calendario o la publicación de un mensaje, permitiendo un procesamiento reactivo en tiempo real.


