Что означает eventual consistency?
- Где допустима итоговая согласованность?
Реплики со временем сойдутся, если записи прекратятся; сразу после записи разные читатели могут видеть разное. Компромисс ради доступности и скорости.
- Подходит: ленты, счётчики, поиск, рекомендации, кэши
- Не подходит: деньги, остатки, уникальность, бронирования
- Смягчают гарантиями сессии: read-your-writes, монотонные чтения
А ещё Окно расхождения не гарантировано — под нагрузкой бывают секунды
Подробно
Это компромисс ради доступности и скорости: система всегда отвечает, но свежесть данных не гарантируется немедленно. Для лент и счётчиков обычно приемлемо, для денег — часто нет. Промежуточные гарантии (read-your-writes, monotonic reads) смягчают неудобства.
Что хотят услышать
- Определение через сходимость.
- Где допустима и где нет.
- Промежуточные гарантии.
Частые ошибки
- Путать eventual consistency с полным отсутствием согласованности.
- Применять её там, где нужна строгая корректность.
Проверьте себя
Один верный вариант. Подумайте, потом откройте ответ.
Показать варианты и ответ
- ✓Реплики со временем сходятся, но сразу после записи могут расходиться
- ✗Запись подтверждается клиенту только после синхронной фиксации на всех репликах
- ✗Данные никогда не приходят к согласованному состоянию
- ✗Транзакция выполняется целиком или не выполняется вовсе
Что спросят дальше
- Что такое read-your-writes consistency?
- Как кворумы влияют на согласованность?
Разбор темы
- CAP и согласованность
Точная формулировка CAP и типичные искажения, неизбежность разделения и выбор C/A по операции, спектр согласованности и сессионные гарантии, кворумы N/R/W и их пределы, PACELC и разрешение конфликтов.
Связанные вопросы
Разбор собеседования с sotto
После собеседования sotto разбирает разговор: оценка, каждый вопрос — хорошо, частично или слабо, чего не хватило в ответе и над чем поработать к следующему разу. Первые 30 минут бесплатно.