Event-Driven Architecture
Arquitetura Orientada a Eventos
Na arquitetura orientada a eventos, um componente publica um fato depois que algo muda. Outros componentes reagem mais tarde seguindo regras claras para entrega e futuras mudanças de formato.
Outro exemplo
Quando a assinatura 42 é cancelada, o Billing publica um evento `SubscriptionCanceled` versionado com assunto, hora e ID de rastreamento. Os serviços de Acesso e Analytics reagem por conta própria e ambos removem IDs de eventos duplicados. O Analytics pode reproduzir o log mais tarde. Um próximo passo falho usa compensação em vez de tratar todo o fluxo como uma única transação.
Partes principais
- 01fato e esquema de evento
- 02Corretor ou registro de eventos
- 03Consumidores independentes reagindo
Use-o quando
Use eventos para fatos duradouros necessários por vários consumidores independentes. Defina quem possui o esquema, a ordem, a reprodução e as regras de falha.
Não o use quando
Não use eventos para esconder uma cadeia de solicitações cujas partes devem agir juntas. Não disfarce um comando vago como um fato no tempo passado.
Nome usado no código
versioned event envelope + durable broker/log + idempotent consumers + trace context Antes de lançar
Check contracts and invariants, authorization, and input limits. Test retries, one-time effects, timeouts, and partial failures. Verify data integrity, compatibility, monitoring, recovery, and rollback.
Outcome: Complete the task with Arquitetura Orientada a Eventos (Event-Driven Architecture). User context: Quando a assinatura 42 é cancelada, o Billing publica um evento `SubscriptionCanceled` versionado com assunto, hora e ID de rastreamento. Os serviços de Acesso e Analytics reagem por conta própria e ambos removem IDs de eventos duplicados. O Analytics pode reproduzir o log mais tarde. Um próximo passo falho usa compensação em vez de tratar todo o fluxo como uma única transação. Technical concept or control: Arquitetura Orientada a Eventos (Event-Driven Architecture). Why it fits: Use eventos para fatos duradouros necessários por vários consumidores independentes. Defina quem possui o esquema, a ordem, a reprodução e as regras de falha. Do not use it when: Não use eventos para esconder uma cadeia de solicitações cujas partes devem agir juntas. Não disfarce um comando vago como um fato no tempo passado. Engineering requirements: Define inputs, outputs, contracts, and rules that must always hold. Set authorization and input checks. Define failures, timeouts, retries, one-time effects, data moves, and compatibility limits. Operations: Add useful signals and logs that hide sensitive data. Set capacity limits and write an operator guide. Test recovery and rollback. Acceptance criteria: Contract and failure-path tests pass. Data and authorization rules still hold during retries and partial failures. Check performance limits, monitoring, recovery, and rollback. Evidence and limits (evidence boundary): Nenhum padrão oficial único controla todo o termo. Seu significado pode mudar entre equipes, plataformas ou frameworks. Unknowns to confirm: Where the code runs, data stores, traffic shape, consistency needs, and the security boundary. Also confirm the compatibility period, service goals, and rollback limits.
Conferir este pedido
Review how Arquitetura Orientada a Eventos (Event-Driven Architecture) is used now. Definition: Na arquitetura orientada a eventos, um componente publica um fato depois que algo muda. Outros componentes reagem mais tarde seguindo regras claras para entrega e futuras mudanças de formato. Release checks: Check contracts and invariants, authorization, and input limits. Test retries, one-time effects, timeouts, and partial failures. Verify data integrity, compatibility, monitoring, recovery, and rollback. Before changing code, list the evidence, gaps, severity, and the smallest safe fix.