Modèle où replicas convergent vers même état après un délai sans nouvelles writes.
Eventual Consistency est un modèle de consistance des systèmes distribués où, étant donné suffisamment de temps sans nouvelles writes, tous les replicas convergent vers le même état. Trade-off : sacrifices immediate consistency pour gagner availability et low latency, particulièrement importantes en multi-region.
Fonctionnement : (1) write accepté par un node ; (2) réponse retournée immédiatement au client (low latency) ; (3) propagation asynchrone vers autres replicas (anti-entropy, gossip, log shipping) ; (4) entre temps, reads sur autres replicas peuvent retourner old data ; (5) après période convergence (millisecondes à minutes typiquement), all replicas in sync.
Use cases acceptables : (1) **social media** — like count peut être stale quelques secondes, non-critical ; (2) **product catalog browsing** ; (3) **DNS** (TTL-based propagation) ; (4) **CDN content** ; (5) **session caches** ; (6) **analytics aggregations**.
Use cases inacceptables : (1) **banking transactions** — pas double-spend acceptable ; (2) **inventory** real-time scarce items (overselling) ; (3) **distributed locks** ; (4) **financial reporting** ; (5) **medical records writes**.
Variantes / consistency levels (Cassandra example) :
- **ONE** — read/write 1 replica acks → fastest, least consistent.
- **QUORUM** (N/2+1) — majority acks → balanced.
- **ALL** — all replicas → slowest, strong consistency.
- **LOCAL_QUORUM** — quorum dans local DC.
- **EACH_QUORUM** — quorum dans chaque DC.
Formule strong consistency : R+W > N where R/W reads/writes count, N replicas.
Conflict resolution : (1) **Last-Write-Wins** (LWW) — timestamp-based, simple but data loss possible ; (2) **Vector clocks** — track causality ; (3) **CRDTs** — merge automatically commutatively (counters, sets, registers, maps) ; (4) **Application-level** — business logic decides.
Read Your Writes / Monotonic Reads / Session Consistency — guarantees intermédiaires plus utiles que pure eventual sans complexité full strong. DynamoDB session consistency, MongoDB read concern. Compétences DEA-C01, SAA-C03.
200+ certifications, 400 000+ questions, examens blancs chronométrés.
Voir le catalogue →