Nie mam jasności co do różnicy między modułem równoważenia obciążenia a odwrotnym serwerem proxy. Oba wydają się mieć takie samo zachowanie: dystrybuują przychodzące żądania do serwerów zaplecza.
load-balancing
reverse-proxy
Morgan Cheng
źródło
źródło
Odpowiedzi:
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:
równoważenie obciążenia: jak omówiono powyżej
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
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
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.
źródło
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
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.
źródło
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.
źródło
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.
źródło