5 хв читання - 7 липня 2025 р.
Розподіляйте трафік сайту між VPS-серверами в різних місцях за допомогою NGINX. Дізнайтеся, як налаштувати балансування навантаження, уникнути єдиної точки відмови та підвищити продуктивність.
Балансування навантаження вашого веб-сайту між декількома екземплярами VPS у різних географічних точках може підвищити продуктивність, зменшити затримки та підвищити надлишковість. Використовуючи NGINX як зворотний проксі, ви можете розподіляти трафік між внутрішніми серверами, на кожному з яких розміщується копія вашого веб-сайту або програми.
У цьому посібнику ми розглянемо процес налаштування, висвітлимо найкращі практики та розглянемо поширену пастку, пов'язану з появою єдиної точки відмови при використанні зворотного проксі, а також рішення для її усунення.
Почніть з розгортання екземплярів VPS у різних географічних регіонах, наприклад, один у Нью-Йорку, один у Франкфурті та один у Сінгапурі. Кожен VPS повинен працювати:
Переконайтеся, що вміст і конфігурації узгоджуються на всіх серверах.
Виберіть один VPS, який буде виконувати функції зворотного проксі-сервера і балансувальника навантаження, або створіть новий VPS для цієї мети. Цей сервер буде спрямовувати трафік на внутрішні вузли VPS.
Використовуйте базову конфігурацію зворотного проксі-сервера NGINX, яка визначає висхідну групу і перенаправляє вхідні запити на ваші внутрішні вузли.
Ось приклад конфігурації NGINX для вашого проксі
http { upstream backend_servers { server vps1.example.com; server vps2.example.com; server vps3.example.com; } server { listen 80; location / { proxy_pass http://backend_servers; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } }
VPS, на якому розміщено зворотний проксі NGINX, стає єдиною точкою відмови. Якщо цей сервер виходить з ладу, весь ваш сайт стає недоступним - навіть якщо внутрішні сервери все ще працюють.
Використовуйте такі інструменти, як Keepalived або Pacemaker з VRRP, щоб створити плаваючу IP-адресу між двома або більше вузлами NGINX. Якщо один з них виходить з ладу, IP автоматично перемикається на інший.
Запустіть кілька вузлів балансувальника навантаження NGINX і використовуйте кругову DNS або GeoDNS (наприклад, AWS Route 53, Cloudflare Load Balancing) для розподілу трафіку між ними.
Рекламуйте одну і ту ж IP-адресу з декількох географічних регіонів за допомогою BGP і Anycast. Трафік автоматично спрямовується до найближчого вузла на основі місцезнаходження користувача.
Порада: Поєднання географічної маршрутизації на основі DNS з високодоступними проксі-серверами NGINX забезпечує найкраще покриття та відмовостійкість.
Хоча NGINX з відкритим вихідним кодом не підтримує активну перевірку стану, він припиняє маршрутизацію до несправного вузла після помилок з'єднання. Для більш розширеної перевірки стану:
Оновіть записи DNS, щоб вони вказували на IP-адресу вашого зворотного проксі-сервера NGINX (або плаваючу IP-адресу, якщо ви використовуєте HA). Якщо ви використовуєте декілька проксі-серверів, налаштуйте DNS-провайдера на збалансований за навантаженням або географічний дозвіл.
NGINX сам по собі не обробляє маршрутизацію на основі геолокації, але ви можете підключити її до нього:
Запит користувача | v +---------------------+ | GeoDNS / Load-aware | | Рівень маршрутизації DNS | +---------------------+ | v +----------------------+ | Регіональний проксі-сервер NGINX (HA або Anycast IP) | +----------------------+ | v +---------------------+ | Вузли VPS Backend
Використання NGINX для балансування навантаження між декількома VPS-серверами допомагає вам масштабуватися в глобальному масштабі і зменшити затримки. Але пам'ятайте: зворотний проксі повинен бути високодоступним, інакше він стає проблемою.
Щоб усунути єдину точку відмови, розгляньте розподіл навантаження на основі DNS, плаваючі IP-адреси або мережу Anycast. При ретельному плануванні ваш багатосайтовий VPS може забезпечити швидку, відмовостійку роботу в масштабі.
Цей посібник підходить лише для веб-інтерфейсу і не охоплює підключення до бази даних, а також проблеми та рішення, що забезпечують високу доступність. Ми розповімо про це в наступній статті...
Для будь-якого бізнесу - малого, середнього чи великого - дані є критично важливим активом. Хоча підприємці часто інвестують у надійні системи для запуску своїх додатків, вони іноді нехтують впровадженням належних заходів захисту даних. Реальність проста: _втрата даних дорівнює втраті бізнесу_ . Одним з ефективних способів підвищити захист і продуктивність даних є інтеграція RAID-масиву в конфігурацію вашого сховища.
3 хв читання - 7 липня 2025 р.
3 хв читання - 7 липня 2025 р.
Гнучкі опції
Глобальне охоплення
Миттєве розгортання
Гнучкі опції
Глобальне охоплення
Миттєве розгортання