Существуют ли общие алгоритмы для достижения конечной согласованности в распределенных системах?

Существуют ли какие-либо алгоритмы, которые обычно используются для достижения согласованности в распределенных системах?

Существуют алгоритмы, которые были разработаны для транзакций ACID в распределенных системах, в частности Paxos, но есть ли подобная теория, разработанная для сценариев BASE, с более слабыми гарантиями согласованности?

Изменить: Это, кажется, область научных исследований, которая только начинает развиваться. Ответ Макдовеллы показывает, что в этой области была проведена хоть какая-то работа.

2 ответа

Решение

Если "Антиэнтропийные протоколы для восстановления реплицированных данных, которые работают путем сравнения реплик и устранения различий". соответствует вашему определению посмотрите на http://en.wikipedia.org/wiki/Gossip_protocol

ОСНОВНАЯ и более слабая согласованность сводятся к конвергенции копий в сценарии репликации. Существует большая литература по репликации в распределенной системе, с быстрой или медленной репликацией, с групповой или основной копией и т. Д.

Консенсус - это одна из проблем, которая может быть точно сформулирована. Можно предложить несколько решений / алгоритмов. Ленивая репликация с конвергенцией копий не является. Я чувствую, что это больше архитектурная проблема. Но, как я только что сказал, есть большая часть работы по репликации или распределенному хранилищу, которая может быть тем, что вы ищете.

Тем не менее, вот несколько ссылок, которые мне показались интересными:

Другие вопросы по тегам