Istnieją scenariusze, w których warto wykorzystać inteligentne proxy pomiędzy użytkownikiem końcowym a serwerem. Przy klastrach, gdzie mamy kilka serwerów pracujących współbieżnie, użycie takich funkcjonalności jest koniecznością. Nawet infrastruktura pod prostą stronę może otrzymać dodatkowe korzyści w postaci np. możliwości wyświetlenia strony z komunikatem w przypadku awarii/przeciążenia serwera docelowego.
Wybrane cechy:
-
Najwyższa możliwa wydajność. Aplikacja napisana jest w języku C, co pozwala na uzyskanie najwyższej wydajności. Autorzy dołożyli starań, aby w optymalny sposób wykorzystać zasoby serwera i funkcjonalności danej platformy. To wszystko sprawia, że w testach uzyskano wynik ponad 40'000 żądań na sekundę. Innym osiągnięciem jest wykorzystanie pełnego pasma przy użyciu profesjonalnych kart sieciowych o przepustowości 10Gbit/sek przy obciążeniu procesora Intel Core2Duo E8200 (2.66 GHz) na poziomie poniżej 20%!
-
Bezpieczeństwo. Rozwiązanie jest zainstalowane na klastrze, który w przypadku awarii jednego serwera, automatycznie przełącza usługi na drugi serwer. W przypadku, gdy docelowy serwer nie jest w stanie obsłużyć żądania, zostaje on odłączony od puli dostępnych serwerów.
-
Bogata funkcjonalność. Możliwości ustawień zachowania aplikacji w zasadzie obejmują pełen zakres scenariuszy. Od typowego zastosowania typu load balancing, po przekierowania HTTP na inny serwer w zależności od adresu IP klienta, rozszerzenia w adresie URL i ilości aktualnych połączeń.
Przykładowe zastosowania:
-
Klaster ze współbieżnymi serwerami. Klienci łączą się do proxy, które na podstawie informacji o obciążeniu, realizuje połączenie do najlepszego, działającego serwera.
-
Inteligentne przekierowanie do CDN. W przypadku wykrycia żądania do treści statycznych, następuje przekierowanie do działającego serwera cache u odpowiedniego dostawcy. Dla przykładu: klient końcowy z sieci TPSA (np. neostrada) jest przekierowany do naszego serwera cache w TPSA.
-
Komunikat o błędzie lub przeciążeniu. Jeśli z powodu awarii lub przeciążenia, serwer docelowy nie może zrealizować połączenia, wyświetlany jest przyjazny komunikat o problemie zamiast długiego oczekiwania i finalnie brzydkiego komunikatu błędu z przeglądarki.