Eventual Consistency
cohérence éventuelle
La cohérence éventuelle permet aux copies de données de différer pendant un certain temps après un changement. Si les nouvelles modifications cessent et que les mises à jour continuent de fonctionner, les copies devraient correspondre.
source commit -> event/change -> consumer lag -> projection update -> measured convergencesource commit -> event/change -> consumer lag -> projection update -> measured convergenceJOBUn autre exemple
Un catalogue renomme le produit `42` en « Ocean ». La page produit lit immédiatement le nouveau nom. La copie de recherche reste ancienne pendant trois secondes pendant qu'un consommateur d'événements se met à jour. Un signal de retard revient à zéro lorsque les deux correspondent.
Parties principales
- 01Source de vérité
- 02Événement de changement
- 03canal asynchrone
- 04point de contrôle du consommateur
- 05Fenêtre et retard obsolètes
- 06Convergence ou réparation
Utilisez-le lorsque
Utilisez-le pour rechercher des copies, l'analyse ou des services séparés qui peuvent accepter en toute sécurité un délai mesuré. Mesurez ce délai. Donnez aux gens un moyen de réparer ou d'envoyer à nouveau les modifications manquées.
Ne l'utilisez pas lorsque
Ne l'utilisez pas lorsqu'une décision nécessite la valeur la plus récente immédiatement. Un exemple est la vérification des permissions avant une action sensible. Indiquez quand les copies doivent correspondre et ce qui se passe après un échec.
Nom utilisé dans le code
source commit -> event/change -> consumer lag -> projection update -> measured convergence 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 cohérence éventuelle (Eventual Consistency). User context: Un catalogue renomme le produit `42` en « Ocean ». La page produit lit immédiatement le nouveau nom. La copie de recherche reste ancienne pendant trois secondes pendant qu'un consommateur d'événements se met à jour. Un signal de retard revient à zéro lorsque les deux correspondent. Technical concept or control: cohérence éventuelle (Eventual Consistency). Why it fits: Utilisez-le pour rechercher des copies, l'analyse ou des services séparés qui peuvent accepter en toute sécurité un délai mesuré. Mesurez ce délai. Donnez aux gens un moyen de réparer ou d'envoyer à nouveau les modifications manquées. Do not use it when: Ne l'utilisez pas lorsqu'une décision nécessite la valeur la plus récente immédiatement. Un exemple est la vérification des permissions avant une action sensible. Indiquez quand les copies doivent correspondre et ce qui se passe après un échec. 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 cohérence éventuelle (Eventual Consistency) is used now. Definition: La cohérence éventuelle permet aux copies de données de différer pendant un certain temps après un changement. Si les nouvelles modifications cessent et que les mises à jour continuent de fonctionner, les copies devraient correspondre. 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.