Event-Driven Architecture
architecture orientée événements
Dans une architecture pilotée par les événements, un composant publie un fait après qu'un changement survient. D'autres composants réagissent plus tard selon des règles claires pour la livraison et les changements de format futurs.
Un autre exemple
Lorsque l’abonnement 42 est annulé, Billing publie un événement versionné `SubscriptionCanceled` avec sujet, heure et ID de trace. Les services Access et Analytics réagissent par eux-mêmes et suppriment tous les deux les ID d’événement en double. Analytics peut rejouer le journal plus tard. Une étape suivante échouée utilise la compensation plutôt que de traiter l’ensemble du flux comme une seule transaction.
Parties principales
- 01fait et schéma d'événement
- 02Courtier ou journal d'événements
- 03Consommateurs réactifs indépendants
Utilisez-le lorsque
Utilisez des événements pour des faits durables nécessaires à plusieurs consommateurs indépendants. Définissez qui possède le schéma, l'ordre, la lecture en boucle et les règles de gestion des erreurs.
Ne l'utilisez pas lorsque
N'utilisez pas les événements pour masquer une chaîne de requêtes dont les parties doivent agir ensemble. Ne déguisez pas une commande vague en un fait au passé.
Nom utilisé dans le code
versioned event envelope + durable broker/log + idempotent consumers + trace context Avant d'expédier
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 architecture orientée événements (Event-Driven Architecture). User context: Lorsque l’abonnement 42 est annulé, Billing publie un événement versionné `SubscriptionCanceled` avec sujet, heure et ID de trace. Les services Access et Analytics réagissent par eux-mêmes et suppriment tous les deux les ID d’événement en double. Analytics peut rejouer le journal plus tard. Une étape suivante échouée utilise la compensation plutôt que de traiter l’ensemble du flux comme une seule transaction. Technical concept or control: architecture orientée événements (Event-Driven Architecture). Why it fits: Utilisez des événements pour des faits durables nécessaires à plusieurs consommateurs indépendants. Définissez qui possède le schéma, l'ordre, la lecture en boucle et les règles de gestion des erreurs. Do not use it when: N'utilisez pas les événements pour masquer une chaîne de requêtes dont les parties doivent agir ensemble. Ne déguisez pas une commande vague en un fait au passé. 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): Aucun standard officiel unique ne régit l’ensemble du terme. Sa signification peut varier selon les équipes, plateformes 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.
Vérifiez cette demande
Review how architecture orientée événements (Event-Driven Architecture) is used now. Definition: Dans une architecture pilotée par les événements, un composant publie un fait après qu'un changement survient. D'autres composants réagissent plus tard selon des règles claires pour la livraison et les changements de format futurs. 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.