2016-12-26 15 views
2

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

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

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

ответ

3

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

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

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