Лучшие способы обнаружения серверов в публичном облаке? [закрыто]

Я хочу сделать образ сервера ubuntu для запуска в публичном облаке, который обнаруживает, когда другие серверы из того же образа выходят в сеть. Я пришел к этому списку решений, но я не уверен, какое из них лучше.

Возможные решения:

  • Layer-2 multicasts с Link Layer Discovery Protocol (LLDP), подобно CDP
  • Присвойте себе link-local адрес и отправьте широковещательную рассылку
  • Avahi (реализация zeroconf в linux, подобно Bonjour от Apple)
  • Используйте DHCP-сервер для отслеживания серверов

Другие возможные решения: (серверы должны уже иметь IP-адрес)

  • SNMP broadcast/multicast
  • SSDP multicast messages (Simple Service Discovery Protocol) (используется в UPnP)
  • Я не уверен, но может быть m(ulticast)DNS или DNS-SD (Service Discovery)

Есть ли еще способы обнаружения узлов? Что обычно делается в больших облачных кластерах?

1
задан 8 October 2014 в 23:32
2 ответа

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

В странах юникоста у вас есть множество вариантов, и многое зависит именно от того, что вы хотите сделать с этими образами и какой сервис на самом деле делает открытие.

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

Если по каким-то причинам вы не можете этого сделать, может быть, вы находитесь на нескольких провайдерах или вам нужен список известных и реальных хостов, вам придется перейти к какому-то специфическому для приложений методу построения динамического кластера. Методы для этого разные, но я видел:

  • Предоставьте несколько подсказок для узлов, чтобы проверить, когда они выходят в онлайн, и приложение поддерживает список проверок и делает сердцебиение, чтобы быть уверенным, что только живые узлы находятся в списке. Подумайте об этом, как о сеялках с бит-торрентом.
  • Регистрация службы с фактической службой регистрации службы, из которых вы перечислили несколько.
  • Регистрация службы с самостоятельной регистрацией, например, что-то выложенное булыжником из Redis.

Что лучше для вас, зависит от того, что вы делаете. Но сначала ищите API, и только если они не работают на вас.

6
ответ дан 3 December 2019 в 16:21

Как я понимаю, правильный способ сделать это - это использовать API, который предлагает вам ваш поставщик облачных услуг. Попытка сделать это с хостов - это немного "каменный топор". Используйте хорошую инфраструктуру космического возраста, за которую вы платите.

3
ответ дан 3 December 2019 в 16:21

Теги

Похожие вопросы