Buforowanie

Buforowanie funkcji buforowania proxypomaga zminimalizować wykorzystanie pasma sieciowego i zapewnić, że użytkownicy końcowi otrzymują szybszą, bardziej niezawodną usługę. Jest to realizowane, ponieważ buforowanie wykonywane przez serwer proxy odciąża serwery zaplecza i łącza równorzędne.

Buforowanie proxy może buforować treść statyczną i treść dynamicznie generowaną przez serwer WebSphere® Application Server. W celu zapewnienia rozszerzonego buforowania komponent Caching Proxy działa również w połączeniu z komponentem Serwer aplikacji Load Balancer . Wprowadzenie do tych systemów znajduje się w sekcji WebSphere Application Server Edge components .

WAŻNE: Caching Proxy jest dostępny we wszystkich instalacjach komponentów Edge, z wyjątkiem instalacji działających na procesorach Itanium 2 lub AMD Opteron.

Konfiguracje podstawowe buforującego proxy

Buforowanie proxy można skonfigurować w roli serwera proxy z odwrotnym buforowaniem (konfiguracja domyślna) lub serwera proxy buforującego w przód. W przypadku użycia przez hosty treści Proxy Caching jest konfigurowany w roli serwera proxy odwrotnego buforowania, który znajduje się między siecią Internet a hostami treści przedsiębiorstwa. W przypadku użycia przez dostawców dostępu do sieci Internet Proxy Caching jest konfigurowany w roli serwera proxy przekazującego pamięć podręczną, który znajduje się między klientem a Internetem.

Proxy z odwrotnym buforowaniem (konfiguracja domyślna)

Jeśli używana jest konfiguracja odwrotnego proxy, maszyny Caching Proxy znajdują się między siecią Internet a hostami treści przedsiębiorstwa. Działając jako odpowiednik, serwer proxy przechwytuje żądania użytkownika przychodzące z Internetu, przekazuje je do odpowiedniego hosta treści, buforuje zwrócone dane i dostarcza te dane użytkownikom przez Internet. Buforowanie umożliwia Proxy Caching w celu spełnienia kolejnych żądań dotyczących tej samej treści bezpośrednio z pamięci podręcznej, co jest znacznie szybsze niż pobieranie go ponownie z hosta treści. Informacje mogą być buforowane w zależności od tego, kiedy utraci ważność, o ile powinna być duża pamięć podręczna i kiedy należy aktualizować informacje. Szybszy czas pobierania dla trafień w pamięci podręcznej oznacza lepszą jakość usług dla klientów. Rysunek 1 przedstawia podstawowe funkcje Caching Proxy .

Rysunek 1. Buforujący serwer proxy działający jako odwrotne proxy. Legenda: 1—Client 2—Internet 3—Router/Gateway 4—Caching Proxy 5—Cache 6—Content host
Ta grafika przedstawia podstawową konfigurację odwrotnego proxy

W tej konfiguracji serwer proxy (4) przechwytuje żądania, których adresy URL zawierają nazwę hosta treści hosta treści (6). Gdy klient (1) żąda pliku X, żądanie przecina Internet (2) i wchodzi do wewnętrznej sieci przedsiębiorstwa za pośrednictwem swojej bramy internetowej (3). Serwer proxy przechwytuje żądanie, generuje nowe żądanie z własnym adresem IP jako adresem źródłowym, a następnie wysyła nowe żądanie do hosta treści (6).

Host treści zwraca plik X do serwera proxy , a nie bezpośrednio do użytkownika końcowego. Jeśli plik jest buforowany, program Caching Proxy przechowuje kopię w swojej pamięci podręcznej (5) przed przekazaniem jej do użytkownika końcowego. Najbardziej widocznym przykładem treści buforowalnej są statyczne strony WWW, jednak Proxy Caching umożliwia także buforowanie i obsługę treści dynamicznie generowanych przez serwer WebSphere Application Server.

Prześlij Proxy Caching

Zapewnienie bezpośredniego dostępu do Internetu dla użytkowników końcowych może być bardzo nieefektywne. Każdy użytkownik pobierający dany plik z serwera WWW generuje taką samą ilość ruchu w sieci, jak i przez bramę internetową jako pierwszy użytkownik, który pobierał ten plik, nawet jeśli plik nie został zmieniony. Rozwiązaniem jest zainstalowanie serwera proxy Caching Proxy w pobliżu bramy.

W przypadku korzystania z konfiguracji przekazującego proxy maszyny Caching Proxy znajdują się między klientem a Internetem. Buforowanie proxy przekazuje żądanie klienta do hostów treści znajdujących się w sieci Internet, buforuje pobrane dane i dostarcza pobrane dane do klienta.

Rysunek 2. Buforujący serwer proxy działający jako przekazujący proxy. Legenda: 1—Client 2—Caching Proxy 3—Cache 4—Router/Gateway 5—Internet 6—Content host
Ta grafika przedstawia podstawową konfigurację proxy przekazując

Rysunek 2 przedstawia konfigurację przekazującego Proxy Caching . Programy przeglądarkowe klientów (na komputerach oznaczonych 1) są skonfigurowane do kierowania żądań do proxy przekazujący do przodu (2), który jest skonfigurowany do przechwytywania żądań. Gdy użytkownik końcowy żąda pliku X zapisanego na hoście treści (6), proxy przekazujący buforowanie przechwytuje żądanie, generuje nowe żądanie z własnym adresem IP jako adres źródłowy i wysyła nowe żądanie za pomocą routera korporacyjnego (4) przez Internet (5).

W ten sposób serwer źródłowy zwraca plik X do przekazujący buforujący serwer proxy, a nie bezpośrednio do użytkownika końcowego. Jeśli funkcja buforowania przekazującego proxy Caching jest włączona, program Caching Proxy określa, czy plik X może być buforowane przez sprawdzenie ustawień w jego nagłówku zwrotu, takich jak data ważności, oraz wskazanie, czy plik został wygenerowany dynamicznie. Jeśli plik jest buforowany, program Caching Proxy przechowuje kopię w swojej pamięci podręcznej (3) przed przekazaniem jej do użytkownika końcowego. Domyślnie buforowanie jest włączone, a program Proxy Caching Proxy korzysta z pamięci podręcznej, jednak można skonfigurować inne typy buforowania.

Dla pierwszego wniosku o plik X, forward Caching Proxy nie poprawia efektywności dostępu do Internetu bardzo wiele. W rzeczywistości czas odpowiedzi dla pierwszego użytkownika, który uzyskuje dostęp do pliku X, jest prawdopodobnie wolniejszy niż bez proxy przekazującego buforowanie, ponieważ wymaga nieco więcej czasu na przetworzenie oryginalnego pakietu żądania Caching Proxy i sprawdzenie nagłówka pliku X w celu uzyskania informacji dotyczących możliwości buforowania po jego odebraniu. Korzystanie z proxy przekazując buforowanie przynosi korzyści, gdy inni użytkownicy później zażądają pliku X. Forward Caching Proxy sprawdza, czy jego buforowana kopia pliku X jest nadal poprawna (nie utraciła ważności), a jeśli tak, to obsługuje on plik X bezpośrednio z pamięci podręcznej, bez przekazywania tego żądania przez Internet do hosta treści.

Nawet jeśli program Caching Proxy wykryje, że żądany plik utracił ważność, nie musi on ponownie wyłudzać pliku z hosta treści. Zamiast tego wysyła komunikat o sprawdzaniu statusu do hosta treści. Jeśli host treści wskazuje, że plik nie został zmieniony, proxy przekazujący buforowanie może nadal dostarczyć wersję buforowanową do użytkownika żądającego.

Konfigurowanie proxy Caching proxy w ten sposób jest termed forward proxy, ponieważ program Caching Proxy działa w imieniu przeglądarek, przekazując swoje żądania do hostów treści za pośrednictwem Internetu. Korzyści płynne z przekazywania proxy z buforowaniem są dwa razy większe:
  • Jeśli plik jest buforowany, użytkownicy końcowi otrzymują go znacznie szybciej niż w przypadku, gdy ich żądania muszą przekraczać Internet, ponieważ proxy przekazujący buforowanie znajduje się w sieci lokalnej. W miarę jak coraz więcej plików jest buforowanych, łączny czas odpowiedzi, jaki użytkownicy doświadczają na potrzeby żądań internetowych, nadal jest wyłączony.
  • Nie istnieje ruch generowany poza siecią lokalną przedsiębiorstwa. Dzięki temu możliwe jest zwiększenie mocy obliczeniowej (dostępnej przepustowości) bramy przedsiębiorstwa do Internetu, zwalniając ją do obsługi żądań plików, które nie są buforowane. Zmniejsza to również opłaty za dostęp do Internetu, co jest szczególnie ważne w środowiskach, w których takie opłaty są oparte na liczbie pakietów.

Buforujący serwer proxy może proxy kilka protokołów przesyłania danych sieciowych, w tym HTTP (Hypertext Transfer Protocol, FTP (File Transfer Protocol) i Gopher.

Przezroczysty serwer proxy buforowania (tylko dla systemówLinux )

Odmiana przekazywania Caching Proxy jest przezroczystym Proxy Caching Proxy. W tej roli Caching Proxy pełni tę samą funkcję co podstawowy przekaz Caching Proxy, ale robi to bez wiedzy klienta o jego obecności. Przezroczysta konfiguracja Caching Proxy jest obsługiwana tylko w systemach Linux .

W konfiguracji opisanej w sekcji Proxy Caching Proxykażda przeglądarka klienta jest osobno skonfigurowana tak, aby kierował żądania do określonego typu Proxy Caching. Utrzymanie takiej konfiguracji może stać się niewygodne, szczególnie w przypadku dużej liczby maszyn klientów. Proxy Caching obsługuje kilka alternatyw, które upraszczają administrowanie. Jedną z możliwości jest skonfigurowanie Proxy Caching dla przezroczystego proxy zgodnie z Rysunkiem 3. Podobnie jak w przypadku zwykłego proxy Caching Proxy, przezroczyste Proxy Caching jest instalowane na komputerze w pobliżu bramy, ale programy przeglądarki klienta nie są skonfigurowane do kierowania żądań do przodu Proxy Caching. Klienty nie mają informacji o tym, że serwer proxy istnieje w konfiguracji. Zamiast tego router jest skonfigurowany w taki sposób, aby przechwytywać żądania klientów i kierować je do przezroczystego Proxy Caching. Gdy klient pracujący na jednej z komputerów, oznaczony jako 1, żąda pliku X zapisanego na hoście treści (6), router (2) przekazuje żądanie do proxy kłusowania. Buforowanie proxy generuje nowy wniosek z własnym adresem IP jako adres źródłowy i wysyła nowe żądanie za pośrednictwem routera (2) przez Internet (5). Po nadejściu pliku X program Caching Proxy buforuje plik, jeśli jest odpowiedni (z zastrzeżeniem warunków opisanych w sekcji Forward Caching Proxy) i przekazuje ten plik do klienta wysyłającego żądanie.

Rysunek 3. Buforujący serwer proxy działa jako przezroczyste proxy przekazujący. Legenda: 1—Client 2—Router/Gateway 3—Caching Proxy 4—Cache 5—Internet 6—Content host
Ta grafika przedstawia przezroczystą konfigurację przekazując proxy

W przypadku żądań HTTP inną możliwią alternatywą dla zachowania informacji o konfiguracji proxy w każdej przeglądarce jest użycie opcji automatycznej konfiguracji proxy dostępnej w kilku programach przeglądarek, w tym Netscape Navigator w wersji 2.0 i nowszej oraz Microsoft Internet Explorer w wersji 4.0 i nowszej. W takim przypadku należy utworzyć jeden lub większą liczbę plików konfiguracji automatycznej proxy (PAC) i skonfigurować przeglądarki w taki sposób, aby odwoływały się do jednego z nich, a nie do informacji o konfiguracji serwera proxy lokalnego. Przeglądarka automatycznie zauważe zmiany w PAC i odpowiednio dostosowuje swoje użycie proxy. Eliminuje to nie tylko konieczność utrzymywania osobnych informacji o konfiguracji w każdej przeglądarce, ale również ułatwia przekierowywanie żądań, gdy serwer proxy staje się niedostępny.

Trzecią alternatywą jest użycie mechanizmu Web Proxy Auto Discovery (WPAD) dostępnego w niektórych programach przeglądarek, takich jak Internet Explorer w wersji 5.0 i nowszych. Po włączeniu tej opcji w przeglądarce automatycznie lokalizuje serwer proxy zgodny z WPAD w swojej sieci i kieruje do niego żądania WWW. W tym przypadku nie ma potrzeby utrzymywania centralnych plików konfiguracyjnych proxy. Buforowanie proxy jest zgodne z WPAD-em.

Buforowanie zaawansowane

Zaawansowane funkcje buforowania są również udostępniane przez wtyczkę Caching Proxy(Dynamic Caching). W przypadku użycia w połączeniu z serwerem WebSphere Application Server Proxy Caching ma możliwość buforowania, obsługi i unieważniania dynamicznej treści w postaci stron JSP ( JavaServer Pages) i odpowiedzi serwletu generowanych przez serwer WebSphere Application Server.

Zwykle treść dynamiczna z nieokreślonym czasem utraty ważności musi być oznaczona jako do not cache , ponieważ standardowa logika czasu ważności pamięci podręcznej oparta na czasie nie zapewnia terminowego usunięcia. Logika utraty ważności sterowana przez wtyczkę dynamicznej pamięci podręcznej umożliwia buforowanie treści z nieokreślonym czasem utraty ważności przez serwer proxy. Buforowanie takiej treści na krawędzi sieci zwalnia hosty treści od wielokrotnego wywoływania serwera aplikacji w celu spełnienia żądań od klientów. Może to przynieść następujące korzyści:
  • Zmniejszone obciążenie serwerów WWW, WebSphere Application Serveri hostów treści zaplecza
  • Szybsze reagowanie na użytkowników poprzez eliminowanie opóźnień w sieci
  • Mniejsze wykorzystanie pasma ze względu na mniejszą liczbę traw internetowych
  • Lepsza skalowalność serwisów WWW, które obsługują dynamicznie generowaną treść

Buforowanie odpowiedzi serwletu jest idealne dla dynamicznie tworzonych stron WWW, które wygasają w oparciu o logikę aplikacji lub zdarzenie, takie jak komunikat z bazy danych. Mimo że czas życia danej strony jest skończony, wartość czasu życia nie może być ustawiona w momencie tworzenia, ponieważ wyzwalacz utraty ważności nie może być znany z wyprzedzeniem. Jeśli wartość czasu życia dla takich stron jest ustawiona na zero, hosty treści ponoszą wysoką karę w przypadku udostępniania treści dynamicznej.

Odpowiedzialność za synchronizowanie dynamicznej pamięci podręcznej produktu Caching Proxy i Application Server jest współużytkowana przez oba systemy. Na przykład publiczna strona WWW tworzona dynamicznie przez aplikację, która nadaje bieżącą prognozę pogody, może być eksportowana przez serwer Application Server i buforowana przez Proxy Caching. Buforowanie proxy może następnie wielokrotnie obsługiwać wyniki wykonania aplikacji do wielu różnych użytkowników, dopóki nie zostanie powiadomiona, że strona jest niepoprawna. Treść w pamięci podręcznej odpowiedzi serwletu produktu Buforujący proxyjest poprawna do momentu usunięcia pozycji przez program serwer proxy , ponieważ pamięć podręczna jest przeciążony, domyślny limit czasu ustawiony przez dyrektywę menedżera ExternalCachew pliku konfiguracyjnym produktu Buforujący proxyutraci ważność, lub produkt Buforujący proxy odbiera komunikat o unieważnienie, który ma na celu wyczyszczenie treści z pamięci podręcznej. Komunikaty unieważnione pochodzą z serwera WebSphere Application Server , który jest właścicielem treści i są propagowane do każdego skonfigurowanego Proxy Caching.
Uwaga: Dynamiczne generowanie stron prywatnych (takich jak strona wyświetlające zawartość koszyka użytkownika) zwykle nie może i nie powinno być buforowane przez Proxy Caching. Buforowanie proxy może buforować i obsługiwać strony prywatne tylko wtedy, gdy jest ona skonfigurowana do przeprowadzania uwierzytelniania i autoryzacji w celu zapewnienia, że strony prywatne są obsługiwane tylko dla ich zamierzonych użytkowników.
Buforowanie proxy oferuje inne zaawansowane funkcje buforowania zaawansowanego:
  • Możliwość korzystania z bardzo dużych pamięci podręcznych
  • Opcja automatycznego odświeżania pamięci podręcznej przy użyciu najczęściej używanych stron
  • Możliwość buforowania nawet tych stron, w których informacje nagłówka są napisane, aby pobierać je za każdym razem
  • Konfigurowalna dzienna czyszczenie pamięci w celu zwiększenia wydajności serwera i zapewnienia obsługi pamięci podręcznej
  • Zdalny dostęp do pamięci podręcznej (Remote Cache Access-RCA), funkcja, która umożliwia wielu maszynom Caching Proxy współużytkowanie tej samej pamięci podręcznej, zmniejszając w ten sposób nadmiarowość buforowanej treści.
  • Wtyczka ICP, która włącza buforowanie proxy do wysyłania zapytań do pamięci podręcznych zgodnych z protokołem Internet Caching Protocol (ICP) w celu wyszukiwania stron HTML i innych zasobów buforowalnych

Zbalansowane klastry Proxy Caching

Aby zapewnić bardziej zaawansowaną funkcjonalność buforowania, należy użyć opcji Caching Proxy jako odwrotnego proxy w połączeniu z komponentem Load Balancer . Dzięki zintegrowaniu funkcji buforowania i równoważenia obciążenia można utworzyć wydajną, wysoce zarządzalną infrastrukturę wydajności sieci WWW.

Rysunek 4 przedstawia sposób łączenia programu Caching Proxy z Load Balancer w celu wydajnego dostarczania treści WWW nawet w warunkach wysokiego zapotrzebowania. W tej konfiguracji serwer proxy (4) jest skonfigurowany tak, aby przechwytywać żądania, których adresy URL zawierają nazwę hosta klastra treści (7), który jest równoważący obciążenie przez system równoważenia obciążenia (6).

Rysunek 4. Buforowanie proxy działającego jako serwer proxy dla klastra z równoważeniem obciążenia. Legenda: 1—Client 2—Internet 3—Router/Gateway 4-Caching Proxy 5—Cache 6-Load Balancer 7—Content host
Grafika, która pojawia się w tym miejscu, przedstawia rolę odpowiednika dla klastra z równoważeniem obciążenia.

Gdy klient (1) żąda pliku X, żądanie przecina Internet (2) i wchodzi do wewnętrznej sieci przedsiębiorstwa za pośrednictwem swojej bramy internetowej (3). Serwer proxy przechwytuje żądanie, generuje nowe żądanie z własnym adresem IP jako adresem źródłowym, a następnie wysyła nowe żądanie do systemu równoważenia obciążenia pod adresem klastra. System równoważenia obciążenia korzysta z algorytmu równoważenia obciążenia w celu określenia, który host treści jest obecnie najlepszy w stanie zaspokoić żądanie dla pliku X. Ten host treści zwraca plik X do serwera proxy , a nie za pośrednictwem programu Load Balancer. Serwer proxy określa, czy ma być buforowane, i dostarcza je do użytkownika końcowego w taki sam sposób, jak opisano wcześniej.