Pub-Sub (Publicar-Assinar)
Publicar-assinar (pub-sub) é um padrão de mensageria em que publicadores emitem eventos para um corretor central sem saber quem irá recebê-los, e assinantes registram interesse por tipos específicos de eventos e os recebem de maneira assíncrona.
Entendendo Pub-Sub (Publicar-Assinar)
Pub-sub desacopla o remetente da mensagem (publicador) dos seus destinatários (assinantes). Publicadores emitem eventos sem saber ou se importar com quais assinantes estão interessados. Assinantes se registram para os tipos de eventos que desejam e recebem eventos relevantes sem precisar fazer polling ou manter conexões diretas com os publicadores. Esse desacoplamento facilita a extensão dos sistemas: adicionar um novo assinante para lidar com um novo caso de uso não exige mudanças nos publicadores ou assinantes existentes. Corretores de mensagens como RabbitMQ, Apache Kafka e Google Cloud Pub/Sub implementam esse padrão em grande escala.
Como GAIA usa Pub-Sub (Publicar-Assinar)
A GAIA utiliza mensagens do tipo pub-sub através do RabbitMQ para coordenar os fluxos de trabalho dos seus agentes. Quando um e-mail chega, o serviço de entrada de e-mails publica um evento no broker. Vários assinantes podem reagir: o agente de triagem analisa a urgência, o agente de extração de tarefas cria tarefas e o agente de calendário verifica referências de agendamento. Esse design pub-sub permite que a GAIA processe o mesmo evento em múltiplos fluxos paralelos de forma eficiente.
Conceitos relacionados
Arquitetura Orientada a Eventos
Arquitetura orientada a eventos (EDA) é um padrão de design de software no qual componentes do sistema se comunicam por meio de eventos — notificações discretas de que algo aconteceu — permitindo baixo acoplamento, resposta em tempo real e sistemas reativos escaláveis.
Fila de Mensagens
Uma fila de mensagens é um sistema que armazena mensagens (tarefas ou eventos) enviadas por produtores e as entrega para consumidores processarem, desacoplando-os e possibilitando comunicação assíncrona e confiável entre componentes do sistema.
Webhook
Um webhook é um mecanismo de callback HTTP em que um sistema envia uma requisição HTTP automatizada para uma URL especificada sempre que um evento definido ocorre, permitindo notificações em tempo real e integração entre serviços sem necessidade de polling.
Automação Orientada a Eventos
Automação orientada a eventos é um padrão em que fluxos de trabalho são acionados automaticamente em resposta a eventos específicos, como a chegada de um novo e-mail, a criação de um evento de calendário ou o envio de uma mensagem, permitindo processamento em tempo real e de forma reativa.


