Простейшая настройка nginx в качестве load balancer может выглядеть следующим образом. Открываем nginx.conf, добавляем секцию серверов upstream и даём ей имя (например loadbalancer). Серверы могут слушать на разных портах. Кроме того, можно одновременно использовать серверы, слушающие на TCP- и UNIX-сокетах.
В нашем случае:
... upstream loadbalancer { server 172.17.0.1:5000; server 172.17.0.1:5001; } ...
Далее в секции server указываем nginx что нам нужно проксировать запросы с определенных роутов на наш loadbalancer:
... ... ... server { ... ... ... location / { proxy_pass http://loadbalancer; } ... ... ... } ... ... ...
Это в принципе все что требуется для включения режима в nginx.
По умолчанию запросы распределяются по серверам циклически (в режиме round-robin) с учётом весов серверов. допустим:
upstream loadbalancer { server 172.17.0.1:5000 weight 3; server 172.17.0.1:5001 weight 7; }
Получается три запроса будут идти на сервер с поротом 5000, остальные семь на 5001, далее опять на порт 5000.