A Akamai adquire a Fermyon para combinar a FaaS (função como serviço) WebAssembly com a plataforma globalmente distribuída da Akamai. Leia as notícias

O que é um assinante de eventos?

Diagrama ilustrando as notificações de assinantes de eventos. Diagrama ilustrando as notificações de assinantes de eventos.

Na arquitetura orientada por eventos (EDA), um assinante de eventos é uma aplicação, serviço, dispositivo ou pessoa que opta por receber informações sobre um evento específico ou classe de eventos. Também conhecidos como "consumidores de eventos", os assinantes de eventos recebem mensagens sobre eventos "ouvindo" e pesquisando continuamente quaisquer alterações relacionadas a determinados tópicos, áreas ou mensagens de eventos. Quando um assinante de eventos recebe informações sobre um evento, ele pode processar e responder às informações de várias maneiras, que podem incluir atualizar um banco de dados, enviar um e-mail, adicionar um objeto a um bucket de armazenamento ou solicitar um fluxo de trabalho.

O que é arquitetura orientada a eventos?

A arquitetura orientada por eventos (EDA) é um padrão de design de software que permite que os sistemas detectem, processem, orquestrem e reajam a eventos em tempo real à medida que eles ocorrem. Um evento é uma mudança no estado de qualquer sistema de negócios ou processo de negócios específico. Na arquitetura orientada por eventos, os assinantes de eventos podem aprender sobre um evento no segundo em que ele ocorre, permitindo que aplicações, sistemas, pessoas e organizações reajam em tempo real. Essa arquitetura geralmente utiliza namespaces para organizar classes de eventos e métodos de assinantes de eventos, garantindo uma base de código limpa e sustentável.

O que é um evento?

Um evento é algo que aconteceu. É uma alteração no estado. Os eventos incluem itens como uma compra de um cliente, uma solicitação de informações, atualizações de inventário, leituras de sensores que podem indicar uma violação de segurança, um item removido de um carrinho de compras, criação de uma nova conta de usuário ou uma notificação de preços de ações que atingem um determinado limite.

Como um assinante de eventos funciona na arquitetura orientada por eventos?

A arquitetura orientada por eventos compreende vários componentes de hardware e software conectados e organizados para permitir a comunicação em tempo real sobre eventos.

Os editores de eventos, também conhecidos como produtores de eventos, são sistemas que detectam ou geram um evento e publicam as informações em um barramento ou canal de eventos. Os editores de eventos são projetados para reconhecer quando um estado muda. Os editores de eventos incluem sistemas como bancos de dados que publicam eventos quando os dados mudam, microsserviços que indicam a conclusão das ações, dispositivos de Internet das coisas (IoT) que sinalizam quando as ações ocorreram ou as condições mudaram e sistemas de CRM que enviam notificações quando os pedidos são atendidos ou novos usuários são registrados.

Os barramentos de eventos, também conhecidos como canais de eventos ou corretores de eventos, são onde as informações sobre eventos são carregadas e descarregadas. Os barramentos de eventos ingerem dados em tempo real dos editores de eventos e disponibilizam informações para os assinantes de eventos que estão ouvindo eventos específicos. Os barramentos de eventos também são conhecidos como fluxos de eventos ou filas de mensagens e incluem plataformas como Apache Kafka, Amazon Kinesis e Google Pub/Sub.

Os assinantes de eventos, também conhecidos como ouvintes de eventos ou consumidores de eventos, são aplicações, serviços, dispositivos ou pessoas que recebem mensagens sobre eventos. Diferentes classes de assinantes são projetadas para receber informações sobre eventos específicos ou classes de eventos. Os assinantes de eventos são normalmente configurados para receber dados de eventos assim que estiverem disponíveis.

Como os assinantes de eventos beneficiam as organizações?

Os eventos afetam todos os aspectos de uma organização e seus processos e operações. Quando as empresas e seus funcionários, aplicações e sistemas podem reagir a eventos com maior velocidade, eles podem aumentar a produtividade, aumentar a eficiência e melhorar a competitividade. Ao configurar os assinantes de eventos para receber informações sobre uma ampla variedade de eventos críticos para os negócios, as organizações podem operar de forma mais eficaz e bem-sucedida.

Como os assinantes de eventos ingerem e processam eventos?

Os assinantes de eventos recebem, processam e respondem a eventos de várias maneiras.

  • Notificação direta: Em alguns casos, os editores de eventos enviam eventos diretamente para os assinantes sem o uso de um barramento ou corretor de eventos.
  • Modelo de extração: Os assinantes também podem optar por verificar periodicamente ou extrair novos eventos de uma fila na qual estão interessados, o que permite o processamento em lote e o balanceamento de carga. No entanto, esse modelo pode introduzir atrasos no processamento de eventos.
  • Pub/sub: Em uma infraestrutura de publicação/assinatura, as mensagens são enviadas aos consumidores de eventos que se inscreveram em canais de eventos específicos por meio de um corretor de mensagens. Os corretores recebem mensagens de eventos, as traduzem quando necessário, mantêm as mensagens organizadas, enviam mensagens para os assinantes para consumo e excluem mensagens. Nesse modelo, os eventos não podem ser reproduzidos, portanto, os assinantes de eventos não podem acessar eventos retroativamente.
  • Fluxo de eventos: Com uma abordagem de fluxo de eventos, os eventos são gravados em um log, e todos os assinantes de eventos podem acessar eventos de qualquer parte do fluxo, incluindo eventos anteriores. O fluxo de eventos é normalmente tratado por uma plataforma de fluxo que pode gerenciar o registro e a transmissão de grandes volumes de eventos com taxa de transferência muito alta, muitas vezes até trilhões de eventos por dia. As plataformas de fluxo permitem a persistência de eventos, na qual os registros são mantidos por um período específico. As plataformas de fluxo também gerenciam o processamento complexo de eventos, no qual os assinantes de eventos consomem e processam uma série de eventos para identificar tendências ou condições específicas.

Qual tipo de eventos os assinantes de eventos consomem?

Um assinante de eventos pode consumir uma ampla variedade de eventos que variam de muito simples a altamente complexos. Isso pode incluir:

  • Transações comerciais: Esses eventos estão relacionados a processos de negócios, como um cliente se registrar online, fazer um pedido, concluir um pagamento ou alterar o status de um pedido.
  • Ações do usuário: Geradas por usuários com uma aplicação ou sistema, essas ações incluem cliques, envios de formulário, atividades de login/logout ou navegação de página.
  • Notificações: Determinados eventos são gerados para notificar outras partes do sistema ou sistemas externos e podem incluir ações como enviar um e-mail, acionar alertas ou gerar relatórios.
  • Eventos do sistema: Esses eventos ocorrem dentro do sistema e são acionados por coisas como conclusão de um processo, atualizações de dados, erros do sistema ou início de tarefas programadas.
  • Entradas do sensor: Em aplicações de IoT, os eventos podem ser gerados por dados do sensor relacionados a coisas como mudanças de temperatura, detecção de movimento ou atualizações de localização.
  • Feeds de dados: Esses eventos se originam de atualizações de dados, como alterações em um banco de dados, novas entradas em um arquivo de log ou atualizações de fontes de dados externas, como APIs ou feeds.
  • Processamento de fluxos: O processamento de fluxos de dados em tempo real pode gerar eventos relacionados ao monitoramento de preços de ações, análise de publicações de redes sociais ou rastreamento de análises em tempo real.
  • Alterações de estado: Alguns eventos são gerados por alterações no estado de objetos ou entidades dentro do sistema, por exemplo, alterar um pedido de "pendente" para "enviado" ou atualizar o status de um tíquete em um sistema de rastreamento.
  • Eventos do ciclo de vida: Esses eventos dizem respeito ao ciclo de vida dos componentes dentro do sistema, como inicialização ou desligamento de serviços, implantação de novas versões ou verificações de integridade.
  • Eventos de integração: As interações entre diferentes sistemas ou serviços podem gerar eventos que podem ser usados para sincronizar dados ou acionar ações além dos limites do sistema.

Perguntas frequentes

Esses termos são frequentemente usados de forma intercambiável ao falar sobre arquitetura orientada por eventos, embora alguns apresentem distinções sutis. Em geral, um consumidor de eventos é um termo mais amplo que faz referência a qualquer componente, sistema ou serviço que consome e processa eventos. O termo "assinante de eventos" é mais comumente usado quando se fala sobre sistemas de mensagens e corretores de eventos, enquanto "ouvinte de eventos" é mais frequentemente usado no contexto de programação e desenvolvimento de software, onde retornos de chamada são registrados.

Os assinantes de eventos são configurados por meio de abordagens programáticas e definições de configuração que definem como os assinantes ouvem e respondem aos eventos. A configuração varia dependendo da pilha de tecnologia específica, da estrutura ou da plataforma de mensagens que está sendo usada. Os eventos configurados no Drupal, Symfony ou Microsoft Dynamics 365 Business Central usarão diferentes tipos de objetos e parâmetros para solicitar eventos e validar dados de eventos.

Os nomes de eventos são identificadores usados em sistemas orientados por eventos para categorizar e acionar ações ou respostas específicas quando ocorrem eventos. Eles desempenham um papel crucial na arquitetura orientada por eventos, permitindo que os editores de eventos rotulem os eventos para que os assinantes ou ouvintes de eventos possam entendê-los e reagir a eles adequadamente.

Por que os clientes escolhem a Akamai

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, inteligência avançada contra ameaças e equipe de operações globais oferecem defesa em profundidade 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.

Conheça os serviços de computação em nuvem