Как добавить проверку работоспособности на нескольких портах на балансировщике нагрузки nginx? - PullRequest
0 голосов
/ 14 июля 2020

Мы используем nginx для балансировки нагрузки нашего приложения. Есть 4 узла, для которых требуется циклическая балансировка нагрузки. Балансировка нагрузки работает нормально.

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

Итак, мы определили восходящий поток в nginx .conf, с файлом состояния "cluster.state". Ниже приводится отрывок из nginx .conf

upstream cluster {
        zone cluster 64k;
        state /var/nginx/state/cluster.state;
}

Ниже приводится отрывок из блока «server» для маршрутизации вызовов:

location /apipattern {
    proxy_set_header Host $host:$server_port;
    proxy_read_timeout 300s;
    proxy_pass http://cluster/;
}
        

Ниже приводится отрывок из cluster.state файл (изменены полные доменные имена, но порт указан правильно)

server foobar1.com:9001 resolve;
server foobar2.com:9001 resolve;
server foobar3.com:9001 resolve;
server foobar4.com:9001 resolve;

Требуется установить проверку работоспособности (для узлов, упомянутых в cluster.state). Службы проверки работоспособности (2 службы) на этих узлах доступны на портах 8081 и 8082 с uri = / healthcheck / isup (а НЕ на 9001)

Как настроить эти проверки работоспособности?

...