O que é um consumidor de evento?

Um consumidor de evento é um componente da arquitetura orientada a eventos (EDA). Consumidores de eventos são aplicativos, serviços, dispositivos ou pessoas que assinam um canal que fornece informações imediatas sobre eventos. Eventos são uma mudança no estado de informações, processos ou sistemas de negócios principais. São ações que podem acontecer dentro, fora ou para uma organização, incluindo coisas como novas transações de clientes, mudanças no estoque, violações de segurança, e-mails recebidos, itens adicionados a um carrinho de compras, a conclusão de um fluxo de trabalho e muitos outros.

Quando consumidores de eventos são notificados sobre um evento, eles podem responder executando algum tipo de ação. As respostas podem variar desde o envio de um alerta por e-mail ou processamento de entradas do usuário até a ativação de fluxos de trabalho ou o início de novos eventos. Uma única aplicação EDA pode ter vários consumidores de eventos esperando para receber informações sobre uma ampla variedade de eventos. Consumidores de eventos comuns incluem sistemas de cobrança, mecanismos de notificação, plataformas de CRM, microsserviços e sistemas bancários.

O que é arquitetura orientada a eventos?

Diagrama ilustrando a arquitetura orientada por eventos e o componente do consumidor de eventos. Diagrama ilustrando a arquitetura orientada por eventos e o componente do consumidor de eventos.

Arquitetura orientada a eventos é um padrão de design de software que torna possível que sistemas detectem, processem, respondam e compartilhem informações sobre eventos em tempo real. O maior benefício dos sistemas EDA é a capacidade de comunicar dados assim que um evento acontece, permitindo que os consumidores de eventos tomem uma ação imediata.

Um dos aspectos mais importantes da arquitetura orientada a eventos é que os sistemas que geram e atuam sobre eventos são desacoplados ou fracamente acoplados. Um sistema que consome eventos, por exemplo, não é interdependente de sistemas que produzem eventos e não precisa saber a origem das informações. Isso significa que a falha de um serviço não causará problemas ou interrupção a outros serviços.

A comunicação assíncrona é outra característica importante da EDA. Em vez de se comunicarem com um modelo de “requisição e resposta”, no qual os sistemas devem esperar por uma resposta antes de agir, os componentes na arquitetura orientada a eventos comunicam-se de forma assíncrona, avançando sem esperar por outros componentes. Isso permite que sistemas EDA se destaquem no processamento em tempo real e no tratamento rápido de enormes quantidades de dados, já que os componentes podem reagir a eventos e processar dados imediatamente.

Qual é o papel de um consumidor de evento na EDA?

Um consumidor de evento é um dos vários elementos-chave da arquitetura orientada a eventos. Componentes da EDA incluem:

  • Eventos: eventos são um sinal de que algo aconteceu, ou uma mudança de estado.
  • Produtores de eventos: produtores de eventos são sistemas como dispositivos IoT, interfaces de usuário, bancos de dados, APIs externas, mecanismos de fluxo de trabalho, serviços em nuvem, monitores de aplicações e outras tecnologias que geram e comunicam eventos.
  • Mensagens de evento: mensagens de eventos, ou notificações de eventos, contêm informações sobre um evento. Elas são tipicamente em JSON ou YAML.
  • Consumidores de eventos: também conhecidos como assinantes de eventos, consumidores de eventos “escutam” ou recebem informações sobre eventos e iniciam ações com base nas informações recebidas. Consumidores de eventos podem realizar tarefas como alertar equipes de segurança sobre possíveis violações, atualizar níveis de estoque, enviar e-mails de confirmação a clientes ou ativar um fluxo de trabalho.
  • Roteadores de eventos: roteadores de eventos permitem a comunicação assíncrona e arquitetura fracamente acoplada atuando como intermediários entre produtores e consumidores. Os roteadores podem ser barramentos de eventos, filas de mensagens, corretores de eventos ou fluxos de eventos que recebem dados de eventos de produtores e os repassam a consumidores que assinaram canais de eventos específicos.
  • Processadores de eventos: processadores de eventos gerenciam os dados de eventos recebidos por consumidores de eventos, aplicando regras que iniciam novos eventos, lançam tarefas ou executam ações. Os processadores de eventos também roteiam, filtram e transformam dados de eventos.

Qual é o benefício de usar consumidores de eventos?

Toda organização, operação de negócios e processo de negócios é impulsionado e impactado por eventos. Quanto mais rápido as organizações puderem ser notificadas e responder a eventos, maiores serão seus ganhos em eficiência, produtividade e competitividade. Usar consumidores de eventos e arquitetura orientada a eventos permite que as organizações sejam notificadas instantaneamente sobre eventos e imediatamente tomem medidas que podem beneficiar um negócio e seus clientes.

A arquitetura orientada por eventos permite às organizações:

  • Processar dados em tempo real. Na EDA, a comunicação assíncrona significa que os componentes podem comunicar-se e processar eventos assim que ocorrem, sem precisar esperar por respostas.
  • Responder rapidamente a eventos da vida real. A arquitetura orientada a eventos melhora a capacidade de resposta ao executar ações automaticamente e instantaneamente quando eventos ocorrem.
  • Dimensionar facilmente. Como os componentes da EDA são desacoplados ou fracamente acoplados, componentes individuais podem dimensionar para cima ou para baixo de forma independente conforme as cargas de trabalho exigem.
  • Reduzir o tempo de inatividade. A EDA aumenta a resiliência e a tolerância a falhas permitindo que outros componentes continuem funcionando mesmo quando um serviço ou sistema está enfrentando problemas.
  • Melhorar integração e interoperabilidade. A natureza desacoplada ou fracamente acoplada da comunicação baseada em eventos torna mais fácil para sistemas diversos trabalharem juntos e compartilharem informações.
  • Aumentar a velocidade. A EDA pode acelerar seus sistemas porque diferentes componentes não precisam esperar um pelo outro.

Como consumidores de eventos recebem eventos?

Há dois modelos principais para publicar e consumir eventos.

Publicar/assinar (pub/sub)

Nesse modelo, também conhecido como modelo de mensagens de eventos, consumidores de eventos assinam vários tópicos, escolhendo receber informações sobre eventos específicos. Quando um produtor de evento publica um evento, as informações são enviadas para um corretor de eventos que traduz ou transforma as informações se necessário, coloca em fila e armazena os dados, e envia mensagens para consumidores de eventos. Após as mensagens serem recebidas pelos consumidores, elas são excluídas pelo corretor.

Serviços pub/sub bem conhecidos incluem Apache Kafka, Confluent, SNS (Simple Notification Service) da Amazon, SQS (Simple Queue Service) da Amazon, Azure Web Pub/Sub e Pub/Sub do GCP.

 

Modelo de fluxo de eventos

Nessa abordagem, consumidores de eventos assinam mensagens de eventos em fluxo enviadas a corretores por produtores de eventos. Em contraste com pub/sub, as mensagens são persistentes, ou seja, são armazenadas e mantidas por um período de tempo. Isso significa que consumidores podem entrar em um fluxo a qualquer momento e acessar mensagens de eventos retroativamente. Os consumidores também podem ser configurados para receber apenas certos eventos do fluxo, em vez de receber todas as mensagens publicadas como no caso do pub/sub. O modelo de fluxo de eventos também permite processamento complexo de eventos, no qual consumidores de eventos ingerem e iniciam ações com base em informações em uma série de eventos.

As empresas que fornecem fluxo de eventos incluem AWS EventBridge, AWS Kinesis, Azure Stream Analytics, GCP Dataflow e Apache Beam.

Quais tipos de eventos consumidores de eventos assinam?

Os consumidores de eventos ingerem e atuam sobre uma ampla variedade de dados de eventos.

  • Comércio eletrônico: a arquitetura orientada a eventos é um pilar dos sistemas de comércio eletrônico nos quais respostas imediatas às ações dos clientes são essenciais para fornecer uma experiência contínua.
  • Cibersegurança: Os consumidores de eventos podem processar eventos de segurança em tempo real para fornecer alertas a equipes de segurança, bloquear arquivos maliciosos ou colocar em quarentena tráfego suspeito.
  • Microsserviços: a EDA é uma arquitetura ideal para comunicação entre microsserviços devido à sua comunicação desacoplada, modularidade, escalabilidade e tolerância a falhas.
  • Análise de dados: muitos consumidores de eventos processam e analisam dados em tempo real para descobrir padrões e extrair insights de enormes quantidades de dados. Os sistemas de detecção de fraude são um exemplo comum de tecnologia EDA projetada para sinalizar anomalias em transações financeiras.
  • Monitoramento: os sistemas EDA são ideais para monitorar a saúde de recursos de sistemas e alertar administradores quando manutenção preditiva ou intervenção urgente é necessária.
  • Internet das coisas (IoT): as enormes quantidades de dados produzidas por dispositivos IoT podem ser facilmente ingeridas e monitoradas por sistemas EDA para fornecer monitoramento e análise em tempo real.
  • Mercado de ações: os consumidores de eventos na indústria de negociações são críticos para estratégias de negociação automatizada que executam ordens de compra/venda com base em condições e eventos que mudam rapidamente dentro do mercado de ações.
  • Fluxo de trabalho: os sistemas EDA permitem fluxos de trabalho automatizados ativando processos e tarefas com base em uma ampla variedade de eventos.

Perguntas frequentes (FAQ)

Os termos “consumidor de evento”, “ouvinte de evento” e “assinante de evento” são frequentemente considerados sinônimos. No entanto, alguns consideram “consumidor de evento” um termo mais amplo que se aplica a qualquer sistema que processa eventos, enquanto “assinante de evento” é tipicamente usado ao descrever corretores e canais de eventos, e “ouvinte de evento” é frequentemente usado em conexão com estruturas ou bibliotecas de programação.

Os consumidores de eventos são configurados de várias maneiras, dependendo da pilha tecnológica específica, da plataforma de mensagens ou da estrutura que está sendo utilizada. As organizações podem configurar consumidores de eventos em middleware e sistemas de mensagens como Apache Kafka, RabbitMQ e AWS SNS/SQS; em estruturas de programação como Spring, .NET ou bibliotecas node.JS; em plataformas de nuvem como AWS Lambda e Azure Functions; em plataformas de orquestração de contêineres como Kubernetes; ou em plataformas como Drupal, Symfony e Microsoft Dynamics 365 Business Central.

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, 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.

Explore todas as soluções de segurança da Akamai