lukaszstaniszewski.pl

blog programistyczny

lukaszstaniszewski.pl

blog programistyczny

Varnish – wstęp – cz. 1

Tym wpisem rozpocznę moją pierwszą serie. Będzie ona dotyczyła aplikacji opartej o symfony wykorzystującej Varnish do cachowania.

Seria będzie się składała z kilku wpisów i będzie przedstawiała tak naprawdę moją drogę nauki Varnisha. Jeżeli zauważysz że popełniam jakiś błąd z góry muszę Cię za niego przeprosić i zaprosić do skontaktowania się ze mną i wyjaśnienia mi co źle robię. 🙂

 

Lista wszystkich wpisów (linki będą aktualizowane zgodnie z harmonogramem publikacji):

Czym jest Varnish

Tłumacząc na prosty język. Varnish ma za zadanie zapisać wynik naszego żądania w pamięci podręcznej i w ekspresowy sposób zwrócić go do klienta.

Jak widzisz na powyższym grafie, request idzie do Varnisha a następnie sprawdza czy dla podanego urla ma zapisany wynik żądania. Jeśli go ma, natychmiast jest on zwracany. W przypadku gdy nie ma zapisanego wyniku żądanie trafia do naszej aplikacji po czym zostaje zapisane oraz zwrócone do końcowego użytkownika.

Po co mi Varnish

Zacznijmy od definicji czym wgl jest cache:

Pamięć podręczna – mechanizm, w którym część spośród danych zgromadzonych w źródłach o długim czasie dostępu i niższej przepustowości jest dodatkowo przechowywana w pamięci o lepszych parametrach.

[Źródło – wikipedia]

Po powyższej definicji możesz stwierdzić jasno że ma on po prostu przyspieszyć dostęp do wyniku żądania. Poza samym przyspieszeniem ma on na celu ograniczyć ilość tych samych requestów do naszej aplikacji. Takie rozwiązanie pozwola nam zredukować ilość serwerów potrzebnych do działania aplikacji.

 

Poza najważniejszymi powyższymi korzyściami możesz zapewne znaleźć jeszcze wiele pomniejszych ale ja zwrócę uwagę na jedną według mnie bardzo ważną.
Varnish pozwala nam skonfigurować serwer tak aby odpytywał aplikację o to czy ona działa. O helth checkach napisał genialny wpis Jakub Gutkowski więc nie będę powielał tego samego w tym wpisie [TUTAJ] :).
W momencie gdy nasza aplikacja nie odpowiada, Varnish będzie dalej zwracać zapisaną odpowiedź. Daje nam on tak cenny w tym momencie czas na załatanie buga albo gdy infrastruktura aplikacji padnie, czas na jej naprawienie.
Klient dalej będzie mógł dalej przeglądać artykuły, oferty, produkty etc. bo Varnish ciągle będzie serwował zapisaną treść.

Niestety nie obsłużymy za pomocą Varnisha formularzy, walidacji itd. Jest to duży minus ale procent klientów którzy wrócą, po załataniu buga aby dokończyć konwersje będzie na pewno większy niż ten który wróci gdy nic nie będzie działać.

Podsumowanie

W ramach tego wpisu poznałeś samą teorie na temat Varnisha.  Od razu pragnę Cię zaprosić do następnego wpisu w którym przejdziemy przez podstawowe użycie Varnisha.
Dzięki temu utrwalisz zdecydowanie bardziej wiedzę zdobytą w tym wpisie. [kliknij tutaj].

 

Źródło:

Varnish – wstęp – cz. 1
Przewiń na górę