Перейти к содержанию

Strong vs eventual consistency

Раздел 04 · Сравнения

Тип материала: инженерное сравнение. Выводы зависят от workload и failure model; схема и сценарии иллюстративные.

Проверка источников: 2026-11-02. Численные latency, throughput, cost и SLA не измерялись.

Критерии выбора

Критерий Strong consistency в заданной области Eventual convergence
Workload Authorization и проверка текущего invariant Кеши, analytics и rebuildable projections
Consistency Нужно назвать модель: linearizable register либо serializable DB Сходимость при заданных правилах конфликтов и доставке
Latency / throughput Coordination и quorum/lock overhead Местные reads/writes; последующая координация
Cost / scalability Quorum, consensus, hot-row contention Versions, anti-entropy/replay и stale read handling
Operational complexity Partitions и ограничения availability Freshness, conflict rules, completeness и reconciliation

Механизм и ограничения

«Strong» без определения недостаточно: serializable transactions не тождественны linearizable операциям во всех системах; read-your-writes — более узкая session guarantee. Eventual consistency требует механизма сходимости и условий liveness, а не обещания «когда-нибудь исправится».

Выбирайте authoritative transaction для available funds и eventual projection для dashboard. Нельзя проводить debit по устаревшему Redis balance, если решение не проверяется ledger. В Cassandra выбор quorum сам по себе не делает произвольный multi-row invariant serializable; конкретные модели рассматривались в разделе 02.

Иллюстративная схема решения

flowchart TD
 W[Workload and invariant] --> B[Define durable boundary]
 B --> F[Compare failure and recovery obligations]
 F --> L[Choose protocol for explicit scope]
 L --> T[Fault test and reconciliation]

Failure и recovery

При network partition strong authority может отвергать requests ради safety. Eventual replicas могут принять несовместимые updates, которые нельзя честно объединить в финансовом domain. После восстановления требуются version conflict resolution и сверка, а не только возобновление replication.

Практическое упражнение

Для wallet authorization, betting odds display и дневной аналитики задайте допустимость stale reads, conflict policy и условие publication. Не используйте слово strong как единственный критерий.

Связанные материалы и источники

Transaction boundaries · Replication models