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

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

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

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

Ответы [ 2 ]

4 голосов
/ 11 января 2010

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

2 голосов
/ 10 января 2010

BASE и более слабая согласованность сводятся к конвергенции копий в сценарии репликации. Существует большая литература по репликации в распределенной системе: eiter eager или lazy replication, group или master copy и т. Д.

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

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

...