Существуют ли общие алгоритмы для достижения конечной согласованности в распределенных системах?
Существуют ли какие-либо алгоритмы, которые обычно используются для достижения согласованности в распределенных системах?
Существуют алгоритмы, которые были разработаны для транзакций ACID в распределенных системах, в частности Paxos, но есть ли подобная теория, разработанная для сценариев BASE, с более слабыми гарантиями согласованности?
Изменить: Это, кажется, область научных исследований, которая только начинает развиваться. Ответ Макдовеллы показывает, что в этой области была проведена хоть какая-то работа.
2 ответа
Если "Антиэнтропийные протоколы для восстановления реплицированных данных, которые работают путем сравнения реплик и устранения различий". соответствует вашему определению посмотрите на http://en.wikipedia.org/wiki/Gossip_protocol
ОСНОВНАЯ и более слабая согласованность сводятся к конвергенции копий в сценарии репликации. Существует большая литература по репликации в распределенной системе, с быстрой или медленной репликацией, с групповой или основной копией и т. Д.
Консенсус - это одна из проблем, которая может быть точно сформулирована. Можно предложить несколько решений / алгоритмов. Ленивая репликация с конвергенцией копий не является. Я чувствую, что это больше архитектурная проблема. Но, как я только что сказал, есть большая часть работы по репликации или распределенному хранилищу, которая может быть тем, что вы ищете.
Тем не менее, вот несколько ссылок, которые мне показались интересными: