Назад | Перейти на главную страницу

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

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

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

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

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

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

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

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

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

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

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

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