NGINX - Конфигурация балансировщика нагрузки HTTPS

Я создал 2 сервера CentOS в разных зонах в одном регионе и установил NGINX для этого. Создал группы экземпляров, такие как ig1 и ig2, и добавил в них эти серверы. Создан внешний балансировщик нагрузки. Я могу запустить веб-страницу, используя публичный статический IP. Но результат не такой, как ожидалось. Есть ли какой-нибудь метод циклического перебора в конфигурации LB? если да, как мы этого добьемся?

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

Не Доступно

Требование заключается в том, что всякий раз, когда я обновляю IP-адрес балансировщика нагрузки, он должен загружать страницу из разных экземпляров. Но дело в том, что мне приходится обновлять страницу не раз, чтобы загрузить страницу из разных экземпляров. Я не уверен, что конфигурации не хватает. Может кто-то помочь мне с этим?

1 ответ

Большинство балансировщиков нагрузки используют циклический перебор.

В GCP HTTP(S) LB есть два метода определения загрузки экземпляра. В ресурсе внутреннего сервиса свойство режима балансировки выбирает между режимами запросов в секунду (RPS) и использования ЦП.

Вы можете переопределить циклическое распределение, настроив сходство сеанса. Тем не менее, обратите внимание, что сходство сеансов работает лучше всего, если вы также установите режим балансировки на запросы в секунду (RPS).

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

================

Теперь GCP HTTP(S) LB предлагает два типа соответствия сеанса:

а) привязка IP-адреса клиента - перенаправляет все запросы с одного IP-адреса клиента в один и тот же экземпляр.

Клиентский IP-адрес направляет запросы с одного и того же IP-адреса клиента в один и тот же серверный экземпляр на основе хэша IP-адреса клиента. Клиентский IP-адрес - это опция для каждого балансировщика нагрузки GCP, который использует внутренние службы.

но при использовании соответствия IP-адреса клиента имейте в виду следующее:

IP-адрес клиента, видимый балансировщиком нагрузки, может не являться исходным клиентом, если он находится за NAT или делает запросы через прокси-сервер. Запросы, сделанные через NAT или прокси, используют IP-адрес маршрутизатора NAT или прокси в качестве IP-адреса клиента. Это может привести к ненужному скоплению входящего трафика на одни и те же серверные экземпляры.

Если клиент перемещается из одной сети в другую, его IP-адрес изменяется, что приводит к нарушению сходства.

b) сходство сгенерированных файлов cookie - устанавливает файл cookie клиента, а затем отправляет все запросы с этим файлом cookie в один и тот же экземпляр.

Когда сгенерированное соответствие cookie установлено, балансировщик нагрузки выдает cookie с именем GCLB в первом запросе, а затем направляет каждый последующий запрос с тем же cookie в один и тот же экземпляр. Сходство на основе файлов cookie позволяет распределителю нагрузки различать разных клиентов, использующих один и тот же IP-адрес, что позволяет более равномерно распределять этих клиентов по экземплярам. Сходство на основе файлов cookie позволяет балансировщику нагрузки поддерживать сходство экземпляров даже при изменении IP-адреса клиента.

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

===========================

Основной источник:

Алгоритм распределения нагрузки

Запросов в секунду

Другие вопросы по тегам