Когда у тебя несколько инстансов одного сервиса, важно равномерно распределять нагрузку. Самый простой способ — использовать Nginx как reverse proxy с базовой балансировкой.
Минимум слов, максимум пользы — настроим простой reverse proxy с балансировкой на Nginx.
Создадим upstream-блок с backend-сервисами:
http {
upstream my_app {
server localhost:5001;
server localhost:5002;
}
}upstream — объединяет несколько серверов в один логический блок. Nginx будет распределять трафик по ним.Теперь настроим сервер, который будет слушать 80-й порт и проксировать запросы:
server {
listen 80;
location / {
proxy_pass http://my_app;
}
}proxy_pass перенаправляет все входящие запросы на my_app, то есть к одному из backend’ов.Запускаем два локальных HTTP-сервиса:
python3 -m http.server 5001
python3 -m http.server 5002
Заходи на
localhost — и увидишь, как трафик распределяется: один раз получаешь ответ от порта 5001, другой — от 5002.🔥 Такой подход легко масштабировать: добавляешь новые server — и трафик автоматически распределяется.
➡️ DevOps Ready | #практика