Lakier kontra inne odwrotne proxy

13

Współpracuję z organizacją, która wdrożyła Varnish jako buforujące odwrotne proxy dla całego ich ruchu w sieci. Ich ruch składa się z wielu dynamicznych stron internetowych generowanych przez klientów, a zwykły zbiór zasobów statycznych zwisa z boku.

Podczas gdy próbuję polubić lakier (myślę, że ma on całkiem dobrą architekturę, w zasadzie), mam pewne problemy z zarządzaniem nim i rozwiązywaniem problemów, gdy się pojawiają, więc zastanawiam się, czy to naprawdę właściwy wybór. W przeszłości używałem kałamarnicy jako odwrotnego proxy, ale nie w tej samej roli, więc nie mam jasnej podstawy do porównania.

Moje pytanie jest skierowane do osób, które zastosowały lakier w produkcji lub poważnie oceniły go pod kątem alternatyw: czy trzymałeś się lakieru, czy też użyłeś innego odwrotnego proxy? Jakie były twoje kluczowe punkty na pozostanie przy nim lub zamianę, a jeśli użyłeś czegoś innego, czego ostatecznie użyłeś?

womble
źródło
6
Lakier jest prawdopodobnie najlepszym rozwiązaniem. Radzę dołączyć do list mailingowych i zaangażować się w produkt, ponieważ prawdopodobnie będziesz potrzebować ich pomocy, jeśli napotkasz jakiekolwiek problemy. Patrząc na ich stronę, wygląda na to, że oferują płatną opcję wsparcia, którą możesz być zainteresowany
Dave Cheney

Odpowiedzi:

9

Cóż, uruchamiam Varnish na moich serwerach WWW, głównie ze względu na wydajność, chociaż jego funkcje równoważenia obciążenia są również przydatne.

Mój przypadek użycia to buforowanie przed witrynami opartymi na Django i robi cuda w zakresie wydajności ładowania strony. Jestem w stanie obsłużyć większość stron bezpośrednio z pamięci podręcznej i bez problemu obsłużyć powódź odwiedzających.

Powodem, dla którego wybrałem Lakier, była głównie wydajność / skalowalność. Główne punkty:

  • Lakier, pozwólmy jądru zarządzać pamięcią wirtualną, gdzie Squid próbuje zachować osobne dyski i pamięci podręczne, może doprowadzić do tego, że jądro i Squid pokłócą się o to, co ma zostać przeniesione na dysk.
  • Varnish używa VCL, własnego języka konfiguracji specyficznego dla domeny, który kompiluje się do kodu maszynowego za pośrednictwem C. To bardzo realna korzyść, jeśli masz więcej niż trochę logiki w konfiguracji - warunkowe usuwanie nagłówków itp.

Z mojego doświadczenia wynika, że ​​Lakier działa w większości przypadków nieco lepiej niż Squid i znacznie lepiej na skokach ruchu. Z drugiej strony, poprawne skonfigurowanie Varnish zajmie trochę przeszukiwania list mailingowych, ponieważ wokół sieci nie ma tyle dokumentacji gotowej do użycia dla konkretnego przypadku użycia, ile jest w sieci dla Squid - głównie dlatego, że Varnish jest dość młodym projektem w porównaniu.

mikl
źródło
0

Spędziłem dużo czasu próbując ustabilizować Varnish 1.x na standardowym sprzęcie torfowym Linux / Dell, zawsze zawiesiłby się w dziwny sposób, a jego watchdog go zrestartował. Co było w porządku, z wyjątkiem ciężko zdobytej pamięci podręcznej, której nigdzie indziej nie utrwalono ...

Powiedziawszy to, czy naprawdę używasz odpowiedniego narzędzia do pracy? Jeśli potrzebujesz odwrotnego serwera proxy, który będzie buforował wyniki żądania (zakładając, że udostępniasz nagłówki pamięci podręcznej dobrej jakości), to lakier jest dobrą opcją. Mam nadzieję, że jest bardziej stabilny w wersji 2.0

Jeśli jednak prowadzisz witrynę * onRails i chcesz uzyskać równoważenie obciążenia na wielu serwerach zaplecza, dobrym rozwiązaniem może być HAProxy lub Nginx. Jeśli nie potrzebujesz skomplikowanej logiki adresu URL (przekierowania, dopasowania wyrażeń regularnych w celu przepisania starszych adresów URL itp.), HAProxy będzie pasować do rachunku. Jeśli potrzebujesz czegoś bardziej zdolnego, wypróbuj nginx.

Dave Cheney
źródło