|
|
Opublikowano 14.06.2020 11:50:26
|
|
|
|

Używam load balancing Alibaba Cloud od ponad 6 lat, a nginx od ponad 6 lat.
Load balancing opiera się na istniejących strukturach sieciowych i zapewnia tani, skuteczny i przejrzysty sposób skalowania przepustowości sprzętu sieciowego i serwerów, zwiększenia przepustowości, poprawy możliwości przetwarzania danych sieciowych oraz poprawy elastyczności i dostępności sieci. Load balance oznacza, że jest rozproszony na wiele jednostek operacyjnych, takich jak serwery WWW, serwery FTP, serwery aplikacji krytycznych dla przedsiębiorstwa oraz inne serwery krytyczne dla misji, aby wspólnie realizować zadania robocze. Mówiąc wprost, rozdziela wiele żądań na różne serwery w backendzie, aby zmniejszyć presję na każdy serwer i osiągnąć wysoką dostępność, nawet jeśli jeden serwer się rozłączy, nie ma to żadnego wpływu.
Po pierwsze
Zainstalowałem node.js natywnie i zainstalowałem http-server, aby emulować dwa kontenery webowe. (Użyj IIS lub zaimplementuj protokół HTTP własnym kodem)
Po zainstalowaniu node.js wykonaj następujące polecenie:
Symuluj dwie strony backendowe
Stworzyłem dwa nowe foldery, site1 i site2, w katalogu E:\wwwroot, każdy z plikiem index.html.
Zawartość to: indeks 1 by:itsvse.com oraz indeks 2 by:itsvse.com
Następnie nasłuchuj dwóch portów HTTP za pomocą następującego polecenia, aby otworzyć te dwie strony.
Spróbuj uzyskać dostęp do obu stacji osobno:Logowanie do linku jest widoczne. Logowanie do linku jest widoczne.Przedstawienia przedstawiają się następująco:
Konfiguracja równoważenia obciążenia NGINX
Pobierz wersję nginx na Windows pod następującym adresem:Logowanie do linku jest widoczne.
Po pobraniu rozpakuj go do katalogu E:\wwwroot\nginx-1.18.0. Zmodyfikuj plik E:\wwwroot\nginx-1.18.0\conf\nginx.conf w następujący sposób:
Rozpocznij program nginx następującym poleceniem:
nginx-s stop fast shutdown nginx-s zakończenie gracyjnego wyłączenia nginx -s ponownie wczytuje konfigurację, uruchamia nowe procesy robocze z nową konfiguracją, płynnie wyłącza stare procesy robocze nginx -s ponownie otwiera pliki logów Dostęp do strony z równoważeniem obciążenia nginx przez przeglądarkę:Logowanie do linku jest widoczne.
Odświeżamy i wracamy wielokrotnie, i okazuje się, że zwrot treści jest inny za każdym razem, a także widać, że nginx rozdziela różne żądania do różnych usług HTTP na backendzie,Próbując zatrzymać stronę site1, widzimy, że nie wpływa ona na nasz normalny dostęp, a nginx przekazuje wszystkie żądania do site2。
Status konfiguracji równoważenia obciążenia Nginx
| stan | Przegląd | | w dół | Obecny serwer nie uczestniczy obecnie w równoważeniu obciążenia | | Zapas | Zarezerwowane serwery zapasowe są włączane, gdy wszystkie pozostałe serwery są zawieszone | | max_fails | Liczba nieudanych żądań, jeśli liczba nieudanych żądań przekroczy limit, powoduje wyłączenie serwera z wirtualnej puli usług po fail_timeout czasie | | fail_timeout | Po awarii max_fails usługa zatrzymuje czas max_fails należy ustawić wartość fail_timeout | | max_conns | Ograniczenie maksymalnej liczby połączeń dla różnych konfiguracji sprzętu serwerowego |
Polityka harmonogramowania równoważenia obciążenia Nginx
| Algorytmy planowania | Przegląd | | Pollot | Ankietuj po kolei, domyślną metodą | | Waga | Sondaże ważone – im większa waga, tym większa szansa na rozkład | | ip_hash | Alokacja wyników skrótu z dostępu do IP powoduje, że żądania z tego samego adresu IP będą miały dostęp do stałego serwera w tle | | url_hash | Przypisz według wyniku skrótu odwiedzanego adresu URL | | least_conn | Minimalna liczba linków to serwer z mniejszą liczbą linków zostanie przypisany | | wartość klucza skrótu | Klucz niestandardowy skrótu |
Więcej informacji o konfiguracjach nginx można znaleźć w następstwie:Logowanie do linku jest widoczne.
|
Poprzedni:Nginx rozkład logów i usuwanieNastępny:Koncepcja i różnica między ITO, BPO, KPO i trzema
|