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