Event-Driven Architecture
Architettura guidata dagli eventi
Nell'architettura guidata dagli eventi, un componente pubblica un fatto dopo che qualcosa cambia. Altri componenti reagiscono successivamente seguendo regole chiare per la consegna e per cambiamenti futuri del formato.
Un altro esempio
Quando l'abbonamento 42 viene annullato, Billing pubblica un evento `SubscriptionCanceled` versionato con soggetto, ora e ID di tracciamento. I servizi Access e Analytics reagiscono autonomamente e rimuovono entrambi gli ID evento duplicati. Analytics può ripetere il log in seguito. Un passaggio successivo fallito utilizza la compensazione invece di trattare l'intero flusso come un'unica transazione.
Parti principali
- 01fatti e schema dell'evento
- 02Broker o registro eventi
- 03Consumatori indipendenti reattivi
Usalo quando
Usa gli eventi per fatti duraturi necessari a più consumatori indipendenti. Definisci chi possiede lo schema, l'ordinamento, la riproduzione e le regole di errore.
Non usarlo quando
Non usare eventi per nascondere una catena di richieste le cui parti devono agire insieme. Non mascherare un comando vago come un fatto al passato.
Nome usato nel codice
versioned event envelope + durable broker/log + idempotent consumers + trace context Prima di spedire
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 Architettura guidata dagli eventi (Event-Driven Architecture). User context: Quando l'abbonamento 42 viene annullato, Billing pubblica un evento `SubscriptionCanceled` versionato con soggetto, ora e ID di tracciamento. I servizi Access e Analytics reagiscono autonomamente e rimuovono entrambi gli ID evento duplicati. Analytics può ripetere il log in seguito. Un passaggio successivo fallito utilizza la compensazione invece di trattare l'intero flusso come un'unica transazione. Technical concept or control: Architettura guidata dagli eventi (Event-Driven Architecture). Why it fits: Usa gli eventi per fatti duraturi necessari a più consumatori indipendenti. Definisci chi possiede lo schema, l'ordinamento, la riproduzione e le regole di errore. Do not use it when: Non usare eventi per nascondere una catena di richieste le cui parti devono agire insieme. Non mascherare un comando vago come un fatto al passato. 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): Nessun singolo standard ufficiale controlla l'intero termine. Il suo significato può cambiare tra team, piattaforme o framework. 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.
Controlla questa richiesta
Review how Architettura guidata dagli eventi (Event-Driven Architecture) is used now. Definition: Nell'architettura guidata dagli eventi, un componente pubblica un fatto dopo che qualcosa cambia. Altri componenti reagiscono successivamente seguendo regole chiare per la consegna e per cambiamenti futuri del 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.