|
|
Опубліковано 14.06.2020 11:50:26
|
|
|
|

Я користуюся балансуванням навантаження Alibaba Cloud вже понад 6 років, а nginx — понад 6 років.
Балансування навантаження базується на існуючих мережевих структурах і забезпечує дешевий, ефективний і прозорий спосіб масштабування мережевого обладнання та пропускної здатності серверів, збільшення пропускної здатності, покращення можливостей обробки мережевих даних та підвищення гнучкості та доступності мережі. Баланс навантаження означає, що він розподіляється між кількома операційними блоками, такими як веб-сервери, FTP-сервери, критично важливі корпоративні сервери застосунків та інші критично важливі сервери, щоб спільно виконувати робочі завдання. Простіше кажучи, він розподіляє кілька запитів між різними серверами на бекенді, щоб зменшити навантаження на кожен сервер і досягти високої доступності, навіть якщо один сервер поклав слухавку, це не має жодного впливу.
Передусім
Я встановив node.js нативно і встановив http-server для емуляції двох веб-контейнерів. (Використовуйте IIS або реалізуйте протокол HTTP на власному коді)
Після встановлення node.js виконайте таку команду:
Імітація двох бекенд-сайтів
Я створив дві нові папки — site1 і site2 — під каталогом E:\wwwroot, кожна з яких мала index.html файл.
Вміст: індекс 1 by:itsvse.com та індекс 2 by:itsvse.com
Потім прослухайте два HTTP-порти з наступною командою, щоб відкрити два сайти.
Спробуйте отримати доступ до обох станцій окремо:Вхід за гіперпосиланням видно. Вхід за гіперпосиланням видно.Зображення такі:
Конфігурація балансування навантаження NGINX
Завантажте версію nginx для Windows за такою адресою:Вхід за гіперпосиланням видно.
Після завантаження розпакуйте його до каталогу E:\root\nginx-1.18.0. Змініть файл E:\wwwroot\nginx-1.18.0\conf\nginx.conf наступним чином:
Запустіть програму nginx наступною командою:
nginx -s зупиніть швидке вимкнення nginx -s припинила граціозне вимкнення nginx -s перезавантажує зміну конфігурації, запуск нових worker процесів з новою конфігурацією, плавне вимкнення старих worker процесів nginx -s повторно відкриває файли журналів Доступ до сайту балансування навантаження nginx через браузер:Вхід за гіперпосиланням видно.
Ми багато разів оновлюємо і повертаємося знову, і бачимо, що вміст, який повертається, різний щоразу, і ви бачите, що nginx розповсюджує різні запити до різних http-сервісів на бекенді,Намагаючись зупинити сайт site1, ми бачимо, що це не впливає на наш звичайний доступ, і nginx пересилає всі запити на сайт site2。
Стан конфігурації балансування навантаження Nginx
| стан | Огляд | | Вниз | Поточний сервер наразі не бере участі у балансуванні навантаження | | Резервне копіювання | Резервовані резервні сервери активуються, коли всі інші сервери зависають | | max_fails | Кількість дозволених невдалих запитів, якщо кількість невдалих запитів перевищує ліміт, закриває сервер із віртуального пулу сервісів після fail_timeout часу | | fail_timeout | Після відмови max_fails сервіс зупиняє час, max_fails потрібно встановити значення fail_timeout | | max_conns | Обмежити максимальну кількість з'єднань для різних конфігурацій серверного апаратного забезпечення |
Політика планування балансування навантаження Nginx
| Алгоритми планування | Огляд | | Поллот | Опитування по одному — метод за замовчуванням | | вага | Зважене опитування, чим вища вага, тим більша ймовірність розподілу | | ip_hash | Виділення результатів хешу з IP, що отримує доступ, призведе до того, що запити з тієї ж IP-адреси звертаються до фіксованого фонового сервера | | url_hash | Призначайте відповідно до результату хешу відвіданої URL | | least_conn | Мінімальна кількість посилань — сервер із меншою кількістю посилань буде призначений | | Значення ключа хешу | Кастомний хеш |
Для детальнішої інформації про конфігурації nginx дивіться:Вхід за гіперпосиланням видно.
|
Попередній:Розділення та видалення журналів NginxНаступний:Концепція та різниця між ITO, BPO, KPO та трьома
|