forked from course/hse-2026
16 lines
1.1 KiB
Markdown
16 lines
1.1 KiB
Markdown
# Пример распределения нагрузки с помощью Nginx
|
||||
|
|
|
|||
|
|
В *hello-world/main.py* написан простейший hello-world сервер, который отвечает хостом, указанном при запуске сервера в формате `python3 main.py <HOST>`.
|
|||
|
|
|
|||
|
|
В *nginx.conf* приведен пример конфигурации Nginx, который распределяет нагрузку между двумя инстансами hello-world сервера. Nginx работает как HTTP-прокси: принимает запрос клиента, отправляет его бэкенду и возвращает ответ клиенту. Stateless-логика приложения при этом совместима с TCP-соединениями на обоих участках.
|
|||
|
|
|
|||
|
|
Другие стратегии балансировки: https://docs.nginx.com/nginx/admin-guide/load-balancer/http-load-balancer/
|
|||
|
|
|
|||
|
|
Запуск примера:
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
docker compose build
|
|||
|
|
docker compose up
|
|||
|
|
|
|||
|
|
for i in {0..20}; do curl localhost:8000; done
|
|||
|
|
```
|