Я пытаюсь понять, как работает балансировка нагрузки на стороне клиента. Пока я смог понять следующее.

  1. Централизованного балансировщика нагрузки нет.
  2. Балансировщик нагрузки теперь находится в самой службе.
  3. Эти балансировщики нагрузки знают обо всех экземплярах службы (их IP-порт и т. Д.) Через обнаружение службы.
  4. В зависимости от алгоритма балансировки нагрузки они могут пересылать запросы этим экземплярам.

Чего я не понимаю: как клиент сделает запрос. В традиционном балансировщике нагрузки пользователь может сделать запрос, используя DNS-имя для балансировщика нагрузки, но как это будет происходить при балансировке нагрузки на стороне клиента, особенно в облачной среде, где будут появляться экземпляры. и иди.

2
naveen 26 Дек 2016 в 13:30

1 ответ

Лучший ответ

Ключевое слово здесь - Service Discovery .

Вам понадобится центральный реестр, в котором перечислены все экземпляры ваших сервисов (и не будут включены в список, если они по какой-то причине отключатся). Затем ваш клиентский балансировщик нагрузки может запросить у регистраторов URL-адреса экземпляров службы и выбрать один из них.

Инструмент, который делает это, например, Eureka.

3
Tom 26 Дек 2016 в 23:17