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

Можно ли использовать несколько балансировщиков нагрузки для перенаправления трафика на мои серверы приложений?

Я новичок в балансировке нагрузки, и мне интересно, можно ли использовать несколько балансировщиков нагрузки для перенаправления трафика на мои серверы приложений. Я не очень понимаю, как это можно сделать. Разве имя домена не должно однозначно совпадать с IP-адресом определенного сервера (в данном случае IP-адресом одного балансировщика нагрузки)? Если каждый сервер балансировки нагрузки имеет свой IP-адрес, как могут получить запрос оба балансировщика нагрузки (или 10 балансировщиков нагрузки, 50 или 100)?

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

Есть и другие способы добиться этого.
1) Активные / пассивные балансировщики нагрузки
Обычно один балансировщик нагрузки обрабатывает весь трафик для одного IP-адреса.
Если этот балансировщик выходит из строя, пассивный узел подключается и берет на себя IP.
Имейте в виду, что балансировщики нагрузки в основном перенаправляют только трафик, поэтому для сайтов малого и среднего размера это может работать нормально.

2) Активные / активные балансировщики нагрузки
Один и тот же IP-адрес трафика настроен на обоих (или многих других) балансировщиках нагрузки.
Входящий трафик отправляется на все балансировщики нагрузки, но алгоритм выбирает, какой балансировщик должен ответить, все остальные отбрасывают этот трафик.
Проще говоря, у вас есть два балансировщика нагрузки:
Когда запрашивающий IP заканчивается четным числом, отвечает балансировщик нагрузки A, в противном случае отвечает балансировщик нагрузки B.

Конечно, ваша инфраструктура должна поддерживать это, и есть накладные расходы из-за того, что трафик отправляется, но отбрасывается.
Дополнительная информация, например Вот: http://community.brocade.com/t5/SteelApp-Docs/Feature-Brief-Deep-dive-on-Multi-Hosted-IP-addresses-in-Stingray/ta-p/73867

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

Таких протоколов достаточно, и я чаще всего видел их с обычными балансировщиками нагрузки. VRRP и NLB (а также очень много невзрачных протоколов черного ящика в бытовой технике). Расширение до маршрутизаторов и межсетевых экранов также может столкнуться с Карп, HRSP, GLSP например.

Эта стратегия имеет ряд преимуществ по сравнению с балансировкой нагрузки DNS, которая является более простой стратегией (и о которой говорится в другом ответе).

На балансировку нагрузки DNS накладывается, например, следующее:

  • медленная работа механизмов кеширования DNS
  • ограниченные алгоритмы балансировки нагрузки (обычно просто циклический)
  • передача клиенту решения о балансировке нагрузки (через кеширование DNS-записи)
  • Медленное истощение очередей обслуживания, когда сервер (т. Е. Балансировщик нагрузки) выводится из ротации (на основе TTL записей DNS. как обрабатывается интернет-провайдерами и клиентами)
  • Медленное переключение при отказе балансировщика нагрузки

Используя протокол виртуального IP для HA, можно, например, выбрать:

  • Выбор алгоритма балансировки нагрузки среди балансировщиков нагрузки
  • Решения по балансировке нагрузки, ориентированные на сервер (увлекательные, например, меры и маршрутизация на основе работоспособности служб)
  • Более быстрое истощение очередей обслуживания, когда балансировщик нагрузки выводится из ротации.
  • Мгновенное переключение при отказе балансировщика нагрузки

Только вы знаете, какая стратегия и протокол лучше всего подходят для вашего сценария.