Строгая консистентность — это дорого. За нее приходится платить тремя вещами:
- Задержка: Каждая запись ждет согласования по сети. Сеть медленная.
- Доступность: При сбое сети система предпочтет отказать клиенту в обслуживании, чтобы не нарушить консистентность. То есть читать будет можно, но вносить изменения нельзя.
- Пропускная способность: Блокировки ресурсов сильно режут RPS.
Как решают в Big Tech
Никто не делает строгую консистентность для всей системы.
- Amazon: Списание денег с карты — Strong Consistency. Корзина покупок — Causal Consistency. Отзывы к товарам — Eventual Consistency.
- Netflix: Оплата подписки — Strong. Рекомендации фильмов — Eventual.