Я пытаюсь понять, как работает балансировка нагрузки на стороне клиента. Пока я смог понять следующее.
- Централизованного балансировщика нагрузки нет.
- Балансировщик нагрузки теперь находится в самой службе.
- Эти балансировщики нагрузки знают обо всех экземплярах службы (их IP-порт и т. Д.) Через обнаружение службы.
- В зависимости от алгоритма балансировки нагрузки они могут пересылать запросы этим экземплярам.
Чего я не понимаю: как клиент сделает запрос. В традиционном балансировщике нагрузки пользователь может сделать запрос, используя DNS-имя для балансировщика нагрузки, но как это будет происходить при балансировке нагрузки на стороне клиента, особенно в облачной среде, где будут появляться экземпляры. и иди.
1 ответ
Ключевое слово здесь - Service Discovery .
Вам понадобится центральный реестр, в котором перечислены все экземпляры ваших сервисов (и не будут включены в список, если они по какой-то причине отключатся). Затем ваш клиентский балансировщик нагрузки может запросить у регистраторов URL-адреса экземпляров службы и выбрать один из них.
Инструмент, который делает это, например, Eureka.
Похожие вопросы
Новые вопросы
architecture
Архитектура охватывает процесс, артефакты и высокоуровневую структуру решения.