Я имею в виду распределенную систему (несколько узлов в одном центре данных), для которой я хочу иметь следующие свойства:
- узлы могут входить и выходить из системы в любое время.
- Нет репликации данных между узлами.
- Какой узел использует клиент, зависит от клиента (т. Е. Это может быть согласованное хеширование, это может быть что-то еще)
- нет мастера (т.е. нет центральной точки отказа)
- каждый узел может получить часть информации, которую необходимо переслать остальным узлам
Какие алгоритмы (ссылки на статьи лучше всего) подходят для этого?
(Я предполагаю, что некоторые ответы будут включать в себя алгоритмы P2P, но большинство из них, с которыми я сталкивался в прошлом, действовали больше как распределенные хеш-таблицы, где узлы входят и занимают некоторую часть пространства ключей и т. Д. I также следует признать, что здесь может быть уместной многоадресная рассылка с простыми UDP-сообщениями, но какая существующая работа поможет сделать обмен сообщениями надежным?)