A Akamai é a empresa de cibersegurança e computação em nuvem que potencializa e protege negócios online. Nossas soluções de segurança líderes de mercado, a inteligência avançada contra ameaças e a equipe de operações globais oferecem defesa completa para garantir a segurança de dados e aplicações empresariais em todos os lugares. As abrangentes soluções de computação em nuvem da Akamai oferecem desempenho e acessibilidade na plataforma mais distribuída do mundo. Empresas globais confiam na Akamai para obter a confiabilidade, a escala e a experiência líderes do setor necessárias para expandir seus negócios com confiança.
Em uma arquitetura orientada a eventos (EDA), um barramento de eventos facilita a comunicação em tempo real sobre dados de eventos entre editores e assinantes de eventos.
O que são eventos?
Eventos são mudanças no estado de um sistema. Um evento é algo que aconteceu e que pode acionar outras coisas a acontecerem. Uma transação de comércio eletrônico, a solicitação de informações de um potencial cliente, uma violação de dados, um equipamento com falha, uma mudança no preço das ações e o clique de um cliente em uma URL em um site são todos exemplos de eventos. Para as empresas, ser notificado sobre eventos o mais rápido possível é essencial para impulsionar eficiência, produtividade e competitividade. Para isso, arquitetos de TI podem optar por implementar uma arquitetura orientada a eventos.
O que é arquitetura orientada a eventos?
A EDA é um padrão de design para software e hardware que permite que sistemas detectem, processem e respondam rapidamente a uma ampla variedade de eventos. A arquitetura orientada a eventos inclui:
- Editores de eventos. Um editor de eventos, ou produtor de eventos, é um sistema que emite uma notificação assim que um evento ocorre. Os editores de eventos podem ser interfaces de usuário que transmitem dados sobre eventos de usuário, dispositivos IoT que comunicam mudanças de temperatura ou movimento, APIs que comunicam conclusões de pagamento, bancos de dados que indicam alterações em registros, e mecanismos de fluxos de trabalho que produzem eventos quando tarefas, fluxos de trabalho ou marcos são concluídos.
- Barramentos de eventos. Um barramento de eventos é um middleware que atua como intermediário entre os editores e consumidores de eventos. Um barramento de eventos recebe mensagens de eventos em tempo real dos editores e disponibiliza os dados para consumidores que assinaram para receber informações de um determinado canal ou classe de evento. (Uma fila de mensagens, um corretor de eventos ou um fluxo de eventos também podem desempenhar essa função.)
- Consumidores de eventos. Também conhecidos como assinantes de eventos ou ouvintes de eventos, os consumidores de eventos recebem informações sobre eventos, as processam e executam tarefas ou ações com base nelas. As ações de um consumidor de eventos podem incluir atualizar um banco de dados, enviar um e-mail, emitir um alerta, fazer um pedido, acionar um fluxo de trabalho ou produzir um novo evento.
Quais são as vantagens da EDA?
A arquitetura orientada a eventos e os barramentos de eventos oferecem diversos benefícios para os sistemas de TI corporativos.
Com os barramentos de eventos como intermediários, os sistemas EDA permitem mensagens assíncronas e acoplamento fraco entre aplicações. Os sistemas que publicam eventos não precisam saber para onde estão enviando informações e os consumidores de eventos não precisam saber de onde as mensagens de eventos estão se originando. Isso oferece uma vantagem significativa sobre a arquitetura de “solicitação/resposta”, na qual uma aplicação solicita informações a outra e aguarda pela resposta.
Essa troca assíncrona de mensagens significa que editores e consumidores não precisam esperar por respostas antes de agir com base nas informações ou passar para a próxima tarefa. Os produtores de eventos não precisam saber sobre os consumidores de eventos, e os consumidores de eventos não precisam saber sobre os produtores de eventos. Os produtores simplesmente indicam que algo aconteceu, e os consumidores ouvem os eventos com os quais eles se importam. Esse acoplamento fraco torna o sistema mais resiliente a falhas. Consequentemente, a arquitetura orientada a eventos permite que vários componentes escalem de forma independente quando necessário, e possibilita que os sistemas processem grandes volumes de dados com mais velocidade e processamento em tempo real.
Como um barramento de eventos funciona na EDA?
Um barramento de eventos é normalmente usado em um modelo de publicação-assinatura. Nessa abordagem da EDA, os barramentos de eventos recebem mensagens de editores, traduzem ou transformam as informações se necessário, mantêm as mensagens organizadas e ordenadas, direcionam as mensagens para os assinantes para consumo e depois as excluem assim que são consumidas.
O processo funciona da seguinte forma:
- Para receber dados de eventos, os consumidores são configurados para receber informações dos barramentos de eventos sobre um evento específico, tipo de evento ou classe de eventos.
- Quando o barramento de eventos recebe uma mensagem de um editor, ele direciona os dados para todos os assinantes apropriados. As empresas também podem configurar os barramentos para manter os dados por um período de tempo, permitindo que os consumidores obtenham dados conforme sua própria programação.
Quais são os benefícios de usar um barramento de eventos?
Os barramentos de eventos permitem que os componentes em uma arquitetura orientada a eventos:
- Comuniquem-se sem dependências. Isso torna mais fácil adicionar ou modificar componentes sem causar tempo de inatividade ou afetar o sistema como um todo.
- Dimensionem horizontalmente. A arquitetura de barramento de eventos torna possível implantar várias instâncias do mesmo componente simultaneamente, permitindo processamento paralelo para aprimorar o desempenho do sistema.
- Lidem com comunicação assíncrona. Ao facilitar mensagens de eventos em todo o sistema, os barramentos de eventos tornam a comunicação assíncrona mais fácil e permitem que os componentes acionem ações de forma independente.
Quais são os casos de uso de um barramento de eventos?
Um barramento de eventos pode ser usado para facilitar mensagens de eventos para uma ampla variedade de aplicações.
- Comércio eletrônico. As plataformas de comércio eletrônico dependem de barramentos de eventos para comunicar eventos como "produto pedido", "pagamento recebido" ou "pacote enviado". Esses eventos podem levar os consumidores de eventos a acionar ações como criar faturas, enviar confirmações por e-mail ou solicitar mais estoque.
- Microsserviços. A natureza fracamente acoplada dos barramentos de eventos e da EDA é a infraestrutura ideal para comunicação entre microsserviços.
- Coleta de dados de IoT. Os barramentos de eventos podem receber grandes quantidades de dados de eventos de dispositivos e sensores da Internet das Coisas (IoT) que rastreiam dados ambientais ou o movimento de tráfego e pessoas.
- Captura de alterações de dados. Os barramentos de eventos podem facilitar eventos relacionados a alterações em um banco de dados, como quando o registro de um cliente no CRM é atualizado, um novo cadastro é registrado ou um item de estoque está esgotado.
- Integração. A EDA e os barramentos de eventos promovem a integração de tecnologias diversas por meio da comunicação assíncrona e de relações fracamente acopladas entre sistemas.
- Processamento de dados em tempo real. Os barramentos de eventos promovem bancos de dados em tempo real ao permitir que os consumidores saibam sobre eventos assim que eles acontecem.
Quais são os serviços de barramento de eventos mais comuns?
Alguns dos serviços de barramento de eventos mais populares incluem Java Message Service (JMS), Apache Kafka, RabbitMQ, Microsoft Azure Event Grid, Google Cloud Pub/Sub e serviços da AWS como Amazon EventBridge.
Perguntas frequentes
Um barramento de eventos é normalmente usado para facilitar a comunicação em tempo real. Uma fila de mensagens permite a comunicação assíncrona entre serviços e componentes armazenando mensagens até que um consumidor esteja pronto para processá-las. Os corretores de mensagens são usados em ambientes mais complexos para traduzir mensagens de um protocolo para outro.
A arquitetura orientada a eventos e os barramentos de eventos são tecnologias que possibilitam um modelo sem servidor para computação em nuvem. A arquitetura sem servidor permite que desenvolvedores escrevam e implantem código sem se preocupar em gerenciar e configurar os servidores e a infraestrutura subjacentes. Um barramento de eventos pode ser uma parte importante da arquitetura sem servidor, facilitando os aspectos orientados a eventos ao distribuir e manipular mensagens de eventos.