Описание
В данной инструкции представлена настройка распределенной архитектуры мобильных сервисов с целью балансировки нагрузки внутри каждого из трех компонентов:
- Балансировка мобильных уведомлений (mobpush).
- Балансировка backend мобильного API (mobapibackend).
- Балансировка frontend мобильного API (mobapifrontend).
Каждый блок "server" задает проксирование запросов к соответствующему upstream-блоку с настройками протокола HTTP/1.1 и установленными заголовками для сохранения метаданных и обеспечения целостности передаваемых данных.
Настройка демонстрирует схему балансировки нагрузки между различными серверами на портах 4222 (mobpush), 8888 (mobapibackend) и 9999 (mobapifrontend) для обеспечения масштабируемости и отказоустойчивости в архитектуре мобильных сервисов.
Настройка
Отредактировать файл /etc/nginx/sites-available/lb.conf:
upstream mobpush { server %IP-адрес сервера mobile services 1%:4222; server %IP-адрес сервера mobile services 2%:4222; } upstream mobapibackend { server %IP-адрес сервера mobile services 1%:8888; server %IP-адрес сервера mobile services 2%:8888; } upstream mobapifrontend { server %IP-адрес сервера mobile services 1%:9999; server %IP-адрес сервера mobile services 2%:9999; } server { listen 4222; server_name mobpush.avanpost.local location / { proxy_pass http://mobpush; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection keep-alive; proxy_set_header Host $http_host; proxy_cache_bypass $http_upgrade; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } } server { listen 8888; server_name mobapibackend.avanpost.local location / { proxy_pass http://mobapifrontend; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection keep-alive; proxy_set_header Host $http_host; proxy_cache_bypass $http_upgrade; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } } server { listen 9999; server_name mobapifrontend.avanpost.local location / { proxy_pass http://mobapibackend; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection keep-alive; proxy_set_header Host $http_host; proxy_cache_bypass $http_upgrade; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } }
- Перезапустить службу nginx.
- В результате изменений:
– сервис push-уведомлений будет доступен по адресу http://mobpush.avanpost.local;
– сервис для внутреннего взаимодействия между FAM и proxy сервисом http://mobapibackend.avanpost.local:8888;
– адрес для обращения к прокси службе http://mobapibfrontend.avanpost.local:9999.