Как надежно, но минимально, распределять предметы по одноранговой системе

StackOverflow https://stackoverflow.com/questions/37296

Вопрос

Если у кого-то есть одноранговая система, которая может быть запрошена, хотелось бы

  • Уменьшите общее количество запросов по всей сети (широко распределяя «популярные» предметы и «аналогичные» предметы вместе)
  • Избегайте избыточного хранилища в каждом узле
  • Уверяйте хорошую доступность даже умеренно редкими элементами в условиях простоя клиента, сбоя оборудования и ухода пользователей (возможно, обнаружение редких предметов для архивистов/историков)
  • Избегайте запросов, которые не могут найти совпадения в случае сетевых разделов

Учитывая эти требования:

  1. Есть ли стандартные подходы? Если нет, то есть ли уважаемые, но экспериментальные исследования? Я знаком с схемами распространения, но я не видел ничего, что действительно касается обучения для надежности.
  2. Мне не хватает очевидных критериев?
  3. Кто -нибудь заинтересован в работе/решении этой проблемы? (Если это так, я рад, что я с открытым исходным кодом в очень хромой симуляторе, который я собрал вместе в эти выходные и, как правило, даю бесполезные советы).

@CDV: Теперь я смотрел видео, и это очень хорошо, и хотя я не чувствую, что оно достигает стратегии подключения к распространению, это определенно 90% пути там. Вопросы, однако, подчеркивают полезные различия в этом подходе, которые решают некоторые из моих дальнейших проблем, и дают мне некоторые ссылки на последующее наблюдение. Таким образом, я временно принимаю ваш ответ, хотя я считаю вопрос открытым.

Это было полезно?

Решение

Если у вас есть время, стоит проверить Технологический разговор Google, который дал Вуала. Полем Они обсуждают те же проблемы, с которыми они столкнулись при создании своей одноранговой файловой системы.

Другие советы

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

Динамо Amazon: http://s3.amazonaws.com/allthingsdistributed/sosp/amazon-dynamo-sosp2007.pdf

Кай: http://www.slideshare.net/takemaru/kai-an-open-source-implementation-of-amazons-dynamo-472179

Hadoop: http://hadoop.apache.org/core/docs/current/hdfs_design.html

Аккорд: http://pdos.csail.mit.edu/chord/

Улей: http://www.cs.cornell.edu/people/egs/beehive/

и многие другие. После создания пользовательской системы вдоль этого направления я также выпустил некоторые строительные блоки в форме с открытым исходным кодом: http://code.google.com/p/distributerl/(Это не целая система, а несколько библиотек, полезных для его построения)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top