O que é arquitetura orientada a eventos?
O modelo de integração baseado em arquitetura orientada a eventos deteta e atua sobre “eventos” importantes em tempo real.
default
{}
default
{}
primary
default
{}
secondary
Definição de arquitetura orientada a eventos e porque é importante
A arquitetura orientada a eventos é uma abordagem de design de software que permite às organizações reagir instantaneamente a qualquer alteração significativa de estado. Imagine se uma empresa pudesse reagir no momento em que algo importante acontece, como quando um cliente faz uma compra online, um sensor sinaliza uma avaria iminente, o preço de uma ação cai ou um alerta de segurança é acionado. Estas mudanças—chamadas de eventos—acontecem o tempo todo, em todas as organizações, em todos os setores. O sucesso depende da rapidez com que o negócio consegue responder aos acontecimentos.
É aqui que entra a arquitetura orientada a eventos (EDA). Em vez de esperar por atualizações agendadas ou depender de sistemas rígidos e fortemente conectados, a arquitetura orientada a eventos permite que as aplicações comuniquem de forma assíncrona através de componentes fracamente acoplados. Isto significa que cada parte do sistema pode atuar de forma independente—sem conhecer o funcionamento interno das outras—tornando mais fácil escalar, adaptar e inovar.
Como resultado, os sistemas modernos que utilizam arquitetura orientada a eventos permitem que as empresas ofereçam experiências mais rápidas e personalizadas, automatizem operações e mantenham-se ágeis mesmo com o aumento das exigências e do volume de dados. Ao adotar uma arquitetura orientada por eventos, as organizações passam de uma postura reativa para uma proativa, ganhando a velocidade, flexibilidade e resiliência necessárias para prosperar num mundo digital dinâmico.
O que é um evento?
Um evento é qualquer ação ou alteração de estado que impacta o negócio—for exemplo, quando um cliente passa um cartão de crédito, um passageiro faz o check-in para um voo, um utilizador redefine uma palavra-passe ou um armazém atualiza o seu inventário. Pense desta forma: um evento é uma pequena mensagem que diz “algo acabou de acontecer”, permitindo que outras partes do sistema reajam imediatamente.
As empresas tornam-se orientadas por eventos quando conseguem captar e reagir a eventos à medida que estes ocorrem, ou seja, em tempo real. Alguns exemplos comuns de eventos incluem:
- Um pagamento falha ou é bem-sucedido
- Um utilizador inicia ou termina sessão
- O stock desce abaixo de um limite
- Uma remessa sai do armazém ou chega ao seu destino
- Uma violação de segurança desencadeia um alerta
- Um programa de fidelização atualiza os saldos de pontos
- Uma equipa de apoio cria um pedido
- Um cliente atualiza o seu endereço de envio
- Um novo utilizador cria uma conta
- Um cliente submete uma avaliação de produto
- Uma pessoa assinante renova ou cancela uma subscrição
Componentes principais da arquitetura orientada a eventos
Para manter a sua estrutura consistente, esquemas de eventos definem a estrutura e o formato do evento, incluindo quais campos o evento contém, tipos de dados e regras de interpretação.
Numa arquitetura orientada a eventos, as aplicações atuam como produtoresde eventos—que produzem ou capturam eventos—ou como consumidoresde eventos—que processam e atuam sobre os eventos. Os produtores transmitem eventos para os consumidores em tempo real através de um corretor de eventos, que é um middleware orientado para mensagens. Os consumidores podem então processar o evento e desencadear outras ações, fluxos de trabalho ou eventos próprios. Este design permite uma resposta em tempo real e decisões mais inteligentes à medida que os dados são recebidos.
O corretor de eventos gere canais de eventos que ligam produtores a consumidores, garante uma entrega fiável e, frequentemente, oferece funcionalidades como filtragem, persistência e reprodução. Ao desacoplar produtores e consumidores, o intermediário de eventos torna o sistema mais resiliente e escalável.
Numa arquitetura muito simples com um único produtor e um único consumidor em comunicação direta entre si, os corretores de eventos podem ser opcionais. No entanto, na maioria das empresas, várias fontes enviam eventos para vários consumidores, pelo que é necessário um broker, ou até mesmo uma rede de brokers—também conhecida como “malha de eventos”. Quando é utilizado um corretor de eventos ou uma malha de eventos, cria-se um “acoplamento frouxo” das aplicações.
Comunicação síncrona vs. assíncrona
Com comunicação síncrona numa arquitetura orientada a eventos, o produtor do evento espera que o recetor processe e responda antes de continuar. Um exemplo é quando um cliente web envia um pedido HTTP e aguarda a resposta do servidor. A comunicação síncrona é normalmente fortemente acoplada e mais lenta sob cargas elevadas, e “bloqueia” o produtor de executar a sua próxima tarefa até receber uma resposta do consumidor.
Com comunicação assíncrona numa arquitetura orientada a eventos, o produtor não espera uma resposta imediata; pode continuar a processar enquanto o consumidor do evento trata a mensagem mais tarde. Um exemplo é quando um sistema publica um evento num intermediário de eventos, e os consumidores processam-no de forma independente. A comunicação assíncrona é não bloqueante, fracamente acoplada e escalável, tornando-a melhor para sistemas em tempo real e distribuídos.
Modelos orientados por pedidos vs. modelos orientados por eventos em arquitetura orientada a eventos
Num modelo orientado por pedidos, a interação começa com um pedido de um consumidor de eventos a um servidor, e o servidor responde. Este modelo é baseado em pull—o que significa que um consumidor solicita ativamente dados ou serviços ao servidor quando deles necessita, em vez de receber atualizações automáticas—e pode ser síncrono ou assíncrono. Modelos orientados por pedidos são comuns em aplicações web tradicionais e APIs.
Num modelo orientado a eventos, a interação começa com um evento—uma alteração de estado ou ação que desencadeia o processamento—e os componentes reagem automaticamente quando os eventos ocorrem, por exemplo, publish/subscribe. Este modelo é caracteristicamente baseado em push—o que significa que o sistema envia automaticamente (“empurra”) eventos ou atualizações para os consumidores assim que estes ocorrem, sem esperar que o consumidor os solicite. Os modelos orientados por eventos são assíncronos, desacoplados e ideais para uma resposta em tempo real.
Pense nas principais diferenças entre os modelos desta forma: nos modelos orientados por pedidos, os utilizadores solicitam dados quando são necessários; nos modelos orientados por eventos, há uma reação automática quando algo acontece.
Padrões comuns de arquitetura orientada a eventos
Os padrões de arquitetura orientada a eventos são abordagens de design comuns que definem como um sistema orientado a eventos capta, processa e consome eventos. Os padrões oferecem estratégias reutilizáveis para gerir a comunicação e as alterações de estado de forma escalável e desacoplada. As organizações aplicam padrões de arquitetura orientada a eventos durante o design e a implementação de sistemas para resolver desafios comuns. Estes incluem a distribuição de eventos, a consistência de dados e a escalabilidade em ambientes assíncronos e fracamente acoplados.
Existem quatro padrões principais para a transmissão de eventos numa arquitetura orientada a eventos:
- Publicar/subscrever (também conhecido como “pub/sub”): Com o modelo publicar/subscrever, os consumidores de eventos subscrevem mensagens e canais publicados pelos produtores de eventos. Quando um evento é publicado, é enviado diretamente a todos os subscritores através de um corretor de eventos. Para evitar duplicação, os eventos não podem ser reproduzidos ou acedidos depois de consumidos, porque o broker os elimina.
- Transmissão de eventos: Com a transmissão de eventos, os produtores publicam fluxos inteiros de eventos para um intermediário. Os consumidores subscrevem o fluxo e podem ler qualquer parte do mesmo, consumindo apenas os eventos que lhes são relevantes. Com o streaming de eventos, os eventos são retidos pelo broker mesmo depois de serem consumidos.
- Segregação de responsabilidade de comando e consulta (CQRS): Com o padrão CQRS, a camada de design e arquitetura da aplicação separa as operações de leitura e escrita em modelos diferentes. Os comandos atualizam o estado enquanto as consultas leem o estado. Na arquitetura orientada a eventos, o padrão CQRS frequentemente trabalha com eventos para propagar alterações de forma assíncrona, melhorando a escalabilidade e o desempenho de sistemas complexos.
- Event sourcing: Com event sourcing, o sistema regista cada alteração de estado como um evento num registo apenas de adição, em vez de armazenar apenas o estado atual de uma entidade. O estado atual pode ser reconstruído ao reproduzir estes eventos. Isto fornece um registo completo de auditoria e suporta cenários de retrospetiva e recuperação.
Estilos de processamento de eventos
Os estilos de processamento de eventos descrevem como o sistema deteta, interpreta e atua sobre os eventos. Elas definem a complexidade da lógica, do tempo, e das relações entre eventos que o sistema compreende. Existem três abordagens diferentes para processar eventos quando estes chegam a um consumidor: processamento simples de eventos, processamento complexo de eventos e processamento de fluxo de eventos.
1. Processamento simples de eventos: Os consumidores processam cada evento à medida que é recebido. Exemplos:
- Um cliente faz uma encomenda, levando o sistema a enviar um e-mail de confirmação e a atualizar o stock.
- Um pedido de redefinição de palavra-passe aciona o envio imediato de um e-mail com uma ligação segura.
- Um pagamento bem-sucedido resulta na geração de um recibo que é enviado ao cliente.
- Um início de sessão de utilizador é registado instantaneamente para controlo de segurança.
2. Processamento complexo de eventos: Os consumidores processam uma série de eventos para detetar padrões e realizar ações com base no resultado. Exemplos:
- Várias transações de alto valor em rápida sucessão levantam um alerta de fraude.
- O aumento da temperatura combinado com uma maior vibração indica uma falha iminente do equipamento.
- Tentativas de início de sessão a partir de diferentes países em poucos minutos desencadeiam um aviso de segurança.
- O abandono repetido do carrinho pelo mesmo utilizador desencadeia uma oferta de desconto personalizada.
3. Processamento de fluxo de eventos: Os consumidores processam e atuam sobre um fluxo constante de dados (dados em movimento) em tempo real utilizando uma plataforma de streaming de dados. Exemplos:
- As flutuações do preço das ações impulsionam a execução instantânea de negociações com base em regras predefinidas.
- Um aumento nas menções nas redes sociais atualiza os painéis de sentimento em tempo real.
- A telemetria de veículos conectados ajusta dinamicamente os semáforos.
- Os dados de navegação de um site de comércio eletrónico alimentam recomendações de produtos em tempo real.
As empresas escolhem o seu estilo de processamento de eventos em tempo real com base nas suas necessidades e casos de uso individuais.
Como funciona a arquitetura orientada a eventos
A arquitetura orientada a eventos é um modelo de integração criado para publicar, capturar, processar e responder a eventos em sistemas distribuídos em tempo real. Quando um evento ocorre numa aplicação, uma mensagem é automaticamente enviada para todas as outras aplicações que precisam de ser informadas, para que possam agir em conformidade.
O seguinte mostra como funciona a arquitetura orientada a eventos, passo a passo:
- Ocorre um evento: Dá-se uma alteração significativa de estado, como por exemplo quando um cliente faz uma encomenda, um sensor deteta um aumento de temperatura ou um pagamento falha.
- O produtor do evento emite o evento: A aplicação onde o evento ocorreu atua como produtora e publica o evento num corretor de eventos.
- O intermediário de eventos encaminha o evento: O intermediário de eventos atua como o agente responsável por gerir os canais de eventos e entregar o evento a todos os consumidores de eventos interessados, o que ajuda a garantir uma comunicação fiável, escalável e desacoplada.
- Os consumidores de eventos reagem ao evento: As aplicações ou serviços que subscreveram o canal de eventos processam o evento e tomam as medidas adequadas, como atualizar o inventário, enviar um e-mail de confirmação ou acionar um alerta.
As arquiteturas baseadas em eventos são assíncronas e desacopladas—o que significa que as aplicações não precisam estar conscientes umas das outras para partilhar informações e completar tarefas em tempo real. Informações sobre eventos, ou mensagens, podem circular livremente e automaticamente entre aplicações. Como resultado, o modelo de arquitetura orientada a eventos é muito mais rápido e resiliente do que os modelos tradicionais orientados a pedidos e respostas, onde uma aplicação tem de solicitar a informação específica de que necessita a outra e aguardar uma resposta antes de passar para a tarefa seguinte. Além disso, devido à natureza desacoplada da arquitetura orientada a eventos, é amplamente considerado uma boa prática para a comunicação entre microserviços.
Casos de utilização e exemplos do mundo real
A arquitetura orientada a eventos impulsiona as experiências digitais modernas em vários setores, desde a banca e o retalho até à indústria e à logística. Ao permitir a automação baseada em IA, inteligência de eventos e capacidade de resposta em tempo real, a arquitetura orientada por eventos ajuda as organizações a modernizar as TI, desacoplar sistemas legados e operar de forma integrada em ambientes multi-cloud.
Os exemplos seguintes mostram como a arquitetura orientada a eventos funciona na prática.
Indústria da restauração
- Um estudante universitário faz um pedido de pizza através de uma aplicação de entrega de comida. A aplicação recolhe as suas informações básicas—nome, morada, dados de pagamento e encomenda—e publica o evento “encomenda de pizza”.
- O restaurante de pizza subscreve o evento, processa a encomenda e publica o seu próprio evento de “encomenda pronta” de volta para o serviço de entrega de comida.
- O serviço então atribui um estafeta de entregas, agenda uma hora prevista de chegada e avisa o cliente de que a sua pizza está a caminho.
E-commerce
- Uma compradora online introduz os dados do seu cartão de crédito num site de comércio eletrónico, que publica o evento “pagamento submetido”.
- O sistema de pagamentos subscreve o evento, processa o pagamento e emite o seu próprio evento de “pagamento processado” indicando sucesso ou falha, e encaminha-o de volta para a interface do utilizador do site.
- A interface de utilizador mostra o estado do pagamento ao cliente e indica os próximos passos.
Alguns outros exemplos de arquitetura orientada a eventos incluem:
Telemetria IoT
- Uma fábrica inteligente transmite dados de sensores para detetar picos de temperatura e prevenir falhas de equipamento.
- Veículos conectados enviam telemetria para otimizar o fluxo de trânsito de forma dinâmica.
- Os dispositivos de casa inteligente publicam eventos de consumo de energia para ativar recomendações de poupança de custos.
Análise e inteligência de eventos
- Um retalhista analisa dados de navegação em tempo real para personalizar recomendações de produtos.
- Um banco monitoriza padrões de transações para detetar fraudes antes que aconteçam.
- Uma empresa de logística utiliza dados em tempo real para prever atrasos nas entregas e redirecionar expedições.
Automatização
- Um sistema de RH atribui automaticamente o acesso a software para um novo colaborador, incluindo a atribuição de licenças e permissões.
- Um sistema de saúde ativa alertas automáticos quando os sinais vitais dos pacientes ultrapassam limites críticos.
- Uma plataforma de cloud dimensiona os recursos de forma dinâmica com base nos eventos de carga de trabalho.
Transações financeiras
- Um gateway de pagamento publica um evento de “pagamento submetido”, desencadeando verificações de fraude antes da aprovação.
- Uma plataforma de negociação executa ordens de compra/venda instantaneamente à medida que os preços das ações flutuam.
- Um banco regista depósitos e atualiza os saldos das contas em tempo real.
Cadeia logística
- Um armazém atualiza os níveis de inventário e aciona automaticamente encomendas de reposição.
- Um serviço de entregas redireciona os motoristas em tempo real com base no trânsito e nas condições meteorológicas.
- Um fabricante ajusta os horários de produção com base em sinais de procura em tempo real.
Modernização de TI e desacoplamento de sistemas legados
- Uma empresa transfere trabalho do seu mainframe ao publicar eventos de negócio para serviços modernos na cloud para funções essenciais.
- Uma organização disponibiliza interfaces de eventos em tempo real em torno de um ERP legado, permitindo que novas aplicações reajam instantaneamente sem aceder ao backend.
- Uma empresa replica eventos de um CRM antigo para uma plataforma SaaS moderna para manter ambos os sistemas sincronizados durante uma migração gradual.
Notificações
- Um fornecedor de serviços públicos notifica os clientes assim que é detetada uma falha de energia na sua área e atualiza-os sobre o progresso da equipa de restabelecimento.
- Uma aplicação de viagens envia um alerta em tempo real aos passageiros quando há uma alteração na atribuição do portão, garantindo que possam ajustar os seus planos de imediato.
- Um serviço de streaming envia recomendações personalizadas depois de um utilizador terminar de ver uma série.
- Um sistema de segurança envia alertas quando é detetada atividade de início de sessão suspeita.
Os casos de utilização gerais da arquitetura orientada por eventos incluem:
- Um comprador online clica num produto e o sistema responde gerando recomendações de produtos com base em itens semelhantes.
- Um retalhista analisa transações globais para detetar fraude e assinala quaisquer compras suspeitas à empresa do cartão de crédito.
- O envolvimento do cliente em tempo real utiliza dados de comportamento do utilizador em streaming para acionar ofertas personalizadas ou preços dinâmicos durante uma sessão de compras.
- A monitorização de cuidados de saúde publica os sinais vitais dos pacientes a partir de dispositivos conectados para alertar imediatamente os profissionais de saúde quando os limites são ultrapassados.
- As operações de cidades inteligentes gerem os semáforos e os horários dos transportes públicos com base em eventos de trânsito e meteorologia em tempo real.
- A deteção de ameaças de cibersegurança identifica e responde, em tempo real, a atividades suspeitas na rede ou tentativas de acesso não autorizado.
- A otimização de recursos na cloud dimensiona automaticamente os recursos de computação em ambientes multi-cloud quando ocorrem picos de carga de trabalho.
Produto SAP
Descubra integração de eventos resiliente
Permita a escalabilidade independente, o isolamento de falhas e o tempo de atividade contínuo—mesmo à medida que o seu tráfego e casos de uso aumentam—utilizando uma malha distribuída de brokers que desacopla produtores e consumidores.
Vantagens da arquitetura orientada a eventos
As organizações podem aplicar as vantagens da arquitetura orientada a eventos aos seus sistemas modernos. Os principais benefícios da arquitetura orientada a eventos incluem:
- Capacidade de resposta em tempo real e fluxos de trabalho inteligentes: A arquitetura orientada a eventos permite que os sistemas reajam instantaneamente aos eventos à medida que ocorrem, desencadeando fluxos de trabalho e decisões automatizadas em tempo real. Isto é especialmente crítico durante períodos de maior procura—por exemplo, durante grandes eventos de vendas ou feriados. As organizações podem aplicar esta capacidade de resposta às operações diárias, melhorando tudo, desde a automatização da cadeia de abastecimento e deteção de fraude até ao envolvimento personalizado dos clientes.
- Velocidade e eficiência através da comunicação assíncrona: As aplicações numa arquitetura orientada a eventos comunicam de forma assíncrona, o que significa que os produtores publicam mensagens de eventos sem esperar que os consumidores as recebam. Esta abordagem não bloqueante melhora o desempenho, reduz a latência e permite que os sistemas processem volumes massivos de eventos sem estrangulamentos.
- Flexibilidade e escalabilidade através do desacoplamento e do acoplamento fraco: Os componentes numa arquitetura orientada a eventos estão desacoplados ou fracamente acoplados, pelo que funcionam de forma independente, sem depender da disponibilidade ou da lógica interna uns dos outros. Isto facilita a atualização, o teste e a implementação de serviços sem interromper todo o sistema. A dissociação também facilita a adição de produtores e consumidores extra conforme necessário, permitindo uma escalabilidade perfeita à medida que as necessidades do negócio crescem.
- Resiliência e isolamento de falhas: Com serviços desacoplados, as falhas num componente não se propagam por todo o sistema. Cada serviço pode falhar de forma independente, tornando a arquitetura mais duradoura e tolerante a falhas do que os modelos tradicionais fortemente acoplados.
- Integração preparada para o futuro: O acoplamento flexível e o design assíncrono tornam a arquitetura orientada a eventos ideal para a modernização de TI, desacoplamento de sistemas legados e operações multi-nuvem. As organizações ganham flexibilidade para integrar novas tecnologias—como automação baseada em IA e inteligência de eventos—sem reescrever os sistemas principais.
Desafios, limitações e melhores práticas
Embora as arquiteturas orientadas por eventos ofereçam vantagens poderosas, também introduzem novos desafios de design e operacionais para os quais as organizações devem estar preparadas. Ao implementar uma arquitetura orientada por eventos, considere os seguintes desafios, limitações e boas práticas desta arquitetura para garantir sistemas orientados por eventos escaláveis, resilientes e bem governados.
Desafios
- Complexidade dos sistemas distribuídos: Gerir uma rede de corretores de eventos em vários ambientes introduz complexidade arquitetónica. Desenhar fluxos de eventos, garantir a consistência do esquema e gerir a comunicação assíncrona requerem planeamento avançado e especialização. Sem controlos de design adequados, as organizações podem enfrentar caos nos eventos à medida que aumentam os volumes de eventos, produtores e consumidores.
- Governação e conformidade: Com eventos a decorrer em ambientes híbridos e multi-nuvem, a aplicação de políticas de governação—como privacidade de dados, segurança e conformidade regulamentar—torna-se um desafio. As organizações necessitam de estruturas de governação robustas para prevenir fugas de dados e acessos não autorizados, bem como para manter o controlo sobre paisagens de eventos em rápida expansão.
- Depuração e observabilidade: Resolver problemas num sistema assíncrono e fracamente acoplado é mais complexo do que em arquiteturas tradicionais. Identificar a causa raiz de falhas ou atrasos requer capacidades avançadas de monitorização, rastreamento e reprodução de eventos. Isto é especialmente verdade quando as equipas resolvem problemas que surgem de cadeias de eventos complexas ou tratam sintomas de caos de eventos.
Como o event mesh se enquadra
A malha de eventos é uma capacidade arquitetónica que liga múltiplos brokers de eventos através de diferentes hyperscalers e em ambientes privados, híbridos e multi-cloud. A malha de eventos oferece um conjunto completo de serviços avançados de eventos, incluindo transmissão de eventos, gestão de eventos, monitorização, encaminhamento dinâmico de mensagens e filtragem detalhada. Ao ligar corretores de eventos numa malha distribuída, as organizações podem:
- Reduza a complexidade através do encaminhamento e gestão centralizados de eventos.
- Apoie a governação com catálogos de eventos, aplicação de esquemas e monitorização.
- Melhore a observabilidade através de rastreamento de eventos, reprodução e análises avançadas.
- Permita escalabilidade e resiliência em ambientes híbridos e multi-nuvem.
Como a espinha dorsal dos sistemas modernos, a malha de eventos é uma camada fundamental para arquiteturas escaláveis e em tempo real baseadas em eventos. Ajuda a garantir a capacidade de resposta em tempo real, ao mesmo tempo que simplifica a integração, reduz o caos de eventos e reforça as capacidades de resolução de problemas em ambientes distribuídos.
Limitações da arquitetura orientada a eventos
- Sobrecarga operacional: Sistemas orientados por eventos requerem ferramentas especializadas para gestão de eventos, validação de esquemas e monitorização, o que pode aumentar a complexidade operacional.
- Requisitos de competências: A implementação e manutenção de event mesh e padrões de arquitetura orientada a eventos exigem conhecimentos especializados em sistemas distribuídos, brokers de eventos e plataformas de integração.
- Riscos de latência: Embora a arquitetura orientada por eventos seja concebida para uma resposta em tempo real, um encaminhamento de eventos mal configurado ou brokers sobrecarregados podem introduzir latência.
Boas práticas de arquitetura orientada a eventos
- Estandarize esquemas e contratos de eventos: Utilize registos de esquemas e aplique validação para manter a consistência entre produtores e consumidores.
- Implemente uma governação sólida: Defina políticas claras para a responsabilidade dos eventos, segurança e conformidade. Aproveite as ferramentas para auditoria e controlo de acesso.
- Aumente a observabilidade: Implemente soluções de monitorização e rastreio para acompanhar os fluxos de eventos, detetar anomalias e simplificar a resolução de problemas.
- Conceba para escalabilidade e resiliência: Utilize funcionalidades de malha de eventos, como encaminhamento dinâmico e filtragem detalhada, para otimizar o desempenho e a tolerância a falhas.
- Automatize com IA e inteligência de eventos: Incorpore análises e automação baseadas em IA para prever problemas, otimizar o encaminhamento e melhorar a tomada de decisões em tempo real.
Características da arquitetura orientada a eventos
Na sua essência, a arquitetura orientada por eventos baseia-se em várias características definidoras que a tornam ideal para ambientes distribuídos, híbridos e multi-nuvem.
- Comunicação assíncrona: Uma característica fundamental da arquitetura orientada a eventos. Em vez de esperar por uma resposta direta, como nos modelos tradicionais orientados por pedidos, as aplicações publicam eventos e continuam a operar sem demora. Este estilo não bloqueante permite interações em tempo real entre sistemas distribuídos e melhora a capacidade de resposta mesmo sob carga elevada.
- Acoplamento frouxo: As aplicações não precisam conhecer a disponibilidade umas das outras, a estrutura da API ou a lógica interna; comunicam-se simplesmente através de eventos encaminhados por um broker de eventos ou uma malha de eventos. Ao garantir que os produtores e consumidores de eventos operam de forma independente, as equipas podem adicionar, atualizar ou substituir serviços sem perturbar o sistema mais amplo, aumentando a agilidade e a tolerância a falhas.
- Escalabilidade independente: Como os componentes estão desacoplados, os serviços individuais podem ser escalados para cima ou para baixo conforme a procura—sem necessidade de alterações nas aplicações a montante ou a jusante. A SAP destaca isto como um benefício central da integração orientada por eventos, especialmente em ambientes híbridos e multi‑cloud, onde cargas de pico e workloads distribuídos devem ser geridos de forma eficiente.
Em conjunto, estas características tornam a arquitetura orientada a eventos uma abordagem poderosa para construir sistemas em tempo real, resilientes, adaptáveis e preparados para o crescimento—quer esteja a suportar microserviços, a integrar ambientes cloud ou a permitir aplicações de processos de negócio orientados a eventos.
Produto SAP
Torne-se orientado por eventos em grande escala
Permita conectividade instantânea e em tempo real entre clouds com uma malha de eventos à escala empresarial.
Perguntas frequentes
A principal diferença entre arquiteturas orientadas a eventos e orientadas a pedidos é a forma como os sistemas comunicam e reagem às mudanças. Num modelo orientado por pedidos, a interação começa quando um consumidor solicita dados ou uma ação a um servidor, e o servidor responde. Este modelo é normalmente síncrono—o que significa que o requisitante espera (bloqueia) até que a resposta chegue—e é baseado em pull, ou seja, as aplicações só recebem atualizações quando as solicitam.
Num modelo orientado por eventos, a interação começa quando ocorre um evento—uma alteração significativa de estado num sistema empresarial—e as aplicações reagem automaticamente. Os sistemas orientados por eventos são assíncronos, por isso os produtores publicam eventos sem esperar que um consumidor responda. Este modelo baseado em push e fracamente acoplado permite que as aplicações funcionem de forma independente e processem eventos em tempo real em ambientes distribuídos, híbridos e multi‑cloud.
Os principais componentes da arquitetura orientada a eventos são produtores, consumidores, corretores de eventos e canais de eventos. Em conjunto, estes componentes criam um fluxo de eventos assíncrono e fracamente acoplado que permite interações em tempo real e escaláveis em ambientes distribuídos, híbridos e multi-nuvem:
- Produtores: Aplicações que geram ou capturam eventos—como atualizações de encomendas, pagamentos e leituras de sensores—e os publicam no sistema orientado a eventos
- Consumidores: Subscrevem, processam e reagem a eventos ao desencadear fluxos de trabalho, atualizar dados, enviar notificações ou iniciar processos subsequentes
- Corretoras de eventos: Middleware de mensagens que encaminha eventos de produtores para consumidores, oferecendo funcionalidades como entrega fiável, filtragem, encaminhamento dinâmico, persistência e reprodução
- Canais de eventos: Vias que o corretor de eventos gere e que ligam produtores e consumidores: os produtores publicam eventos num canal e os consumidores subscrevem os canais que lhes são relevantes
Os padrões de arquitetura orientada a eventos são abordagens de design reutilizáveis que definem como os eventos são captados, encaminhados, armazenados e consumidos num sistema orientado a eventos. Os principais padrões de arquitetura orientada a eventos são:
- Publicação/subscrição (pub/sub): Os produtores publicam eventos num canal, e vários consumidores subscrevem e reagem automaticamente.
- Transmissão de eventos: Os produtores publicam fluxos contínuos de eventos para um intermediário, e os consumidores podem ler, reproduzir ou processar esses eventos em qualquer ponto do fluxo.
- Segregação de responsabilidade de consulta e comando (CQRS): As operações de leitura e escrita são separadas em modelos diferentes para propagar atualizações de forma assíncrona.
- Event sourcing: Os sistemas armazenam cada alteração de estado como um evento imutável num registo apenas de anexação e depois reconstruem o estado atual ao reproduzir os eventos.
Principais benefícios da utilização de uma arquitetura orientada a eventos incluem:
- Acoplamento frouxo: As aplicações funcionam de forma independente, sem conhecer os detalhes internos umas das outras, permitindo atualizações, integrações e extensões mais fáceis.
- Escalabilidade: Novos produtores e consumidores podem ser adicionados facilmente, e as cargas de trabalho escalam em ambientes híbridos e multi-nuvem.
- Resiliência: Serviços desacoplados isolam falhas, permitindo que um componente falhe sem afetar todo o sistema.
- Velocidade e capacidade de resposta em tempo real: A comunicação assíncrona e não bloqueante permite que os sistemas reajam instantaneamente a eventos de negócio e processem grandes volumes com baixa latência.
Produto SAP
Descubra o SAP Integration Suite
Acelere a inovação com integração orientada por eventos, event mesh, APIs e processos em tempo real.