Jaka jest różnica między modułem równoważenia obciążenia a odwrotnym serwerem proxy?

Odpowiedzi:

113

Twoje zamieszanie jest uzasadnione - często są takie same. Ale nie zawsze. Odnosząc się do modułu równoważenia obciążenia, masz na myśli bardzo konkretną rzecz - serwer lub urządzenie, które równoważy żądania przychodzące na dwóch lub więcej serwerach WWW w celu rozłożenia obciążenia. Odwrotny serwer proxy ma jednak zazwyczaj dowolną liczbę funkcji:

  1. równoważenie obciążenia: jak omówiono powyżej

  2. buforowanie: może buforować zawartość z serwera (serwerów) znajdujących się za nim, a tym samym zmniejszyć obciążenie serwerów (serwerów) WWW i zwrócić część statycznej treści z powrotem do requestera bez konieczności pobierania danych z serwera (serwerów) WWW

  3. bezpieczeństwo: może chronić serwery internetowe, uniemożliwiając bezpośredni dostęp z Internetu; może to zrobić w prosty sposób, po prostu zaciemniając serwer (serwery) WWW lub może mieć bardziej aktywne komponenty, które faktycznie sprawdzają przychodzące żądania szukające złośliwego kodu

  4. Przyspieszenie SSL: gdy używany jest SSL; może służyć jako punkt końcowy dla tych sesji SSL, dzięki czemu obciążenie związane z szyfrowaniem jest odciążane z serwera (serwerów) WWW

Myślę, że dotyczy to większości, ale prawdopodobnie brakuje mi kilku innych funkcji. Z pewnością nie jest rzadkością, gdy urządzenie lub oprogramowanie jest sprzedawane jako moduł równoważenia obciążenia / odwrotne proxy, ponieważ funkcje są tak często łączone.

icky3000
źródło
2
+ pula połączeń (zezwalaj na wiele żądań na jednym połączeniu frontendowym, gdy backend nie radzi sobie z tym dobrze; lub
użyj
+ kompresja Kompresowanie odpowiedzi serwera przed zwróceniem ich do klienta (na przykład z gzip) zmniejsza
wymaganą
25

Ponadto odwrotne proxy jest specyficzne dla serwerów sieciowych.

Usługi równoważenia obciążenia mogą jednak obsługiwać wiele innych protokołów. Podczas gdy internet (HTTP) jest obecnie wielkim pomysłem, rzeczy takie jak DNS, poczta (SMTP, IMAP) itp. Mogą być również równoważone obciążeniem. Właśnie teraz większość ludzi myśli „Internet” lub „sieć IP”, a myśli o sieci. Jest o wiele więcej rzeczy, które mogą być bardziej niejasne lub niszowe.


źródło
12

Chociaż wynik netto (dystrybucja żądań między serwerami) jest taki sam między różnymi modułami równoważenia obciążenia i odwrotnymi serwerami proxy, różnica polega na metodzie stosowanej do dystrybucji żądań.

Niektóre usługi równoważenia obciążenia równoważą ruch za pomocą DNS, rozpoznając tę ​​samą nazwę dla różnych adresów IP w okrągłym robinie, skutecznie przekierowując żądania. Może to być często przydatne, gdy żądania równoważenia obciążenia między centrami danych lub innymi fizycznymi lokalizacjami. Jest to zły wybór, jeśli potrzebujesz „natychmiastowego” przełączenia awaryjnego, ponieważ jesteś na łasce serwera DNS swoich klientów, aby honorować dostarczone przez ciebie TTL. Cisco GSS (Global Site Selector) jest dobrym przykładem równoważenia obciążenia opartego na DNS.

Inne moduły równoważące obciążenie działają przez przepisywanie nagłówków pakietów przeznaczonych na wirtualny adres IP na rzeczywisty adres IP serwera w farmie. Zapewnia to równoważenie obciążenia w czasie rzeczywistym i niemal natychmiastowe przełączanie awaryjne. Przykładem może być CSM Cisco (Content Switching Module)

Zauważ, że w obu powyższych przykładach istnieje rozmowa TCP między klientem a serwerem.

Odwrotne proxy działa poprzez zaakceptowanie żądania w imieniu serwera WWW, a następnie wysłanie go do serwera WWW i zwrócenie go klientowi, opcjonalnie buforowanie wyników, jeśli pojawi się podobne żądanie.

Zauważ, że klient nigdy nie nawiązuje połączenia z serwerem WWW; raczej rozmowa odbywa się wyłącznie między serwerem proxy a klientem.

Brian Tillman
źródło
4

Moduł równoważenia obciążenia może równoważyć ruch od warstwy 3 w górę do warstwy 7, ale odwrotne proxy jest specyficzne dla HTTP.

Kris Roofe
źródło
3

Reverse proxy akceptuje żądania od klienta, przekazuje go do serwera, który może go wypełnić i zwraca odpowiedź serwera do klienta (co oznacza, że serwer za reverse proxy może komunikować się z nieco innych cech protokołu lub innego protokołu ).

Moduł równoważenia obciążenia rozdziela przychodzące żądania klientów między grupę serwerów, w każdym przypadku zwracając odpowiedź z wybranego serwera do odpowiedniego klienta.

Manu Prasadh
źródło
1
Masz na myśli to, że moduł równoważenia obciążenia jest niezbędny w przypadku „odwrotnego proxy” z dystrybucją?
Anthony Kong
4
Jest to bezpośrednie powielenie strony nginx.com/resources/glossary/reverse-proxy-vs-load-balancer albo ukradli twoją odpowiedź, albo powinieneś odwołać się do swoich źródeł
icc97 20.02.18