Дмитрий Гаевский
гость
гость
гость
Седьмой выпуск по Distributed Systems посвящён репликации и консистентности. Реплики приближают данные к потребителям и масштабируют чтение, но каждая копия задерживает распространение изменений. Поэтому гарантию выбирают по семантике продукта, а не по стремлению получить абстрактно самую строгую модель.
Участники читают диаграммы операций во времени, сравнивают sequential и causal consistency и обсуждают причинные зависимости. Группировка данных приводит к locks, а транзакции — к serializability: база должна представить конкурентные изменения как допустимую последовательность.
Eventual consistency разбирают через свойства операций: коммутативные изменения сходятся при разном порядке. Continuous consistency измеряет расхождение по числу неприменённых обновлений, времени устаревания и порядку. Client-centric гарантии вроде read-your-writes защищают отдельный пользовательский сценарий.
Финал переходит к replica management и протоколам: placement, распространению операций, упорядочению в духе Calvin, primary-based replication и quorum. Веб-кэш и CDN показывают практический результат: меньше задержка и нагрузка на origin, но нужны явные правила обновления, валидации и размещения копий.