Есть ли сервисный реестр без мастер-кластера / сервера? - PullRequest
0 голосов
/ 13 октября 2019

Я недавно начал больше узнавать о реестрах сервисов и их использовании в распределенной архитектуре.

Все приложения, предоставляющие реестры сервисов, которые я нашел ( etcd , Консул или Zookeeper ) основаны на той же модели: мастер-сервер / кластер с выбором лидера.

Поправьте меня, если я ошибаюсь, но ... разве это не делаетархитектура менее надежна? В том смысле, что мастер кластер приносит точку отказа. Чтобы обойти это, мы всегда можем сделать кластер большего размера, но он будет более дорогостоящим и / или менее эффективным с точки зрения производительности.

Мои вопросы здесь:

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

1 Ответ

1 голос
/ 18 октября 2019

Все эти сервисы основаны на одном техническом документе - Google Chubby (https://ai.google/research/pubs/pub27897).). Идея состоит в том, чтобы иметь быстрое и согласованное хранилище конфигурации для распределенных систем. Для этого необходимо устранить единую точку отказа. Вы можете сделать это? Вы представляете несколько машин, хранящих одни и те же данные, а также реплицируете данные. Но в этом случае, учитывая ненадежную сеть между этими машинами, как убедиться, что данные согласованы между узлами? Вы выбираете один из узловиз кластера, чтобы стать лидером (используя распределенный алгоритм выбора лидера), если узлы имеют несовместимые значения между ними, это задача лидера, чтобы выбрать «правильный». Похоже, мы вернулись к ситуации «единой точки отказа»Но на самом деле, если лидер терпит неудачу, остальная часть кластера просто голосует и продвигает нового лидера, поэтому роль лидера в этих системах НЕ должна быть Единой точкой истины , а скорее Единая точка принятия решения

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...