Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
VARNISH-CACHE
Praktyczne zastosowania
Michał Gruchała
Agenda
1. Co to jest Varnish-Cache
2. Warsztat
3. Varnish-Cache w GOG.com
Varnish-Cache
Użytkownik LoadBalancer

(Varnish-Cache)
Backend
Backend
Backend
Varnish-Cache
Reverse Proxy / LoadBalancer
Cache
Konfigurowalność / Elastyczność
Protokół HTTP (brak SSL)
Badanie zdrowia b...
Varnish-Cache
vcl_recv() vcl_deliver() DONEvcl_fetch()
vcl_hit()
vcl_miss()
move bytesvcl_pipe()
vcl_pass()
vcl_hash()
Funkcja jest wykonywana w po pobraniu danych od backendu
Manipulujemy odpowiedzią
Podejmujemy decyzję czy zapisujemy do ca...
Warsztat
devacademy.gog.com
Francja
Varnish-Cache
!
!
LOADBALANCER
web-{1,2}.devacademy.gog.com
Kanada
nginx + php-fpm
!
B...
Warsztat
Warsztat
LoadBalancer director / backends / health checks
vcl_recv
Zasoby statyczne vcl_recv + vcl_fetch
ochrona przed dog...
Co więcej?
Grace Serwuje przeterminowane dane z cache
Restarts Umożliwa zresetowanie procesu (powrót do vcl_recv).
Możliwa...
Varnish-Cache w GOG.com
Varnish-Cache w GOG.com
Wiele serwerowni Varnish-Cache na maszynach POP wybiera odpowiednie
datacenter
Obsługa OAuth2 Varn...
DZIĘKUJĘ ZA UWAGĘ
Zapraszam do dyskusji
Upcoming SlideShare
Loading in …5
×

Varnish-Cache

706 views

Published on

Prezentacja z DevAcademy 04/2014

  • Be the first to comment

Varnish-Cache

  1. 1. VARNISH-CACHE Praktyczne zastosowania Michał Gruchała
  2. 2. Agenda 1. Co to jest Varnish-Cache 2. Warsztat 3. Varnish-Cache w GOG.com
  3. 3. Varnish-Cache Użytkownik LoadBalancer
 (Varnish-Cache) Backend Backend Backend
  4. 4. Varnish-Cache Reverse Proxy / LoadBalancer Cache Konfigurowalność / Elastyczność Protokół HTTP (brak SSL) Badanie zdrowia backendów Dowolna możliwość wyboru backendów Możliwośc zmiany zapytania / odpowiedzi HTTP Edge Side Includes Trzyma w cache odpowiedzi otrzymane od backendów Eliminuje dogpile effect Maszyna stanowa / automat skończony Konfiguracja jest kodem / zbiorem funkcji wykonywanych w poszczególnych stanach Możliwość pisania modułów albo wstawek inline-C
  5. 5. Varnish-Cache vcl_recv() vcl_deliver() DONEvcl_fetch() vcl_hit() vcl_miss() move bytesvcl_pipe() vcl_pass() vcl_hash()
  6. 6. Funkcja jest wykonywana w po pobraniu danych od backendu Manipulujemy odpowiedzią Podejmujemy decyzję czy zapisujemy do cache Może nie być wykonana - żądanie HTTP zostało obsłużone przez cache Varnish-Cache vcl_recv() vcl_fetch() Funkcja jest wykonywana na początku przetwarzania zapytania Ustawiamy backend / Wybieramy odpowiedź z cache Normalizujemy zapytanie
  7. 7. Warsztat devacademy.gog.com Francja Varnish-Cache ! ! LOADBALANCER web-{1,2}.devacademy.gog.com Kanada nginx + php-fpm ! BACKENDY
  8. 8. Warsztat
  9. 9. Warsztat LoadBalancer director / backends / health checks vcl_recv Zasoby statyczne vcl_recv + vcl_fetch ochrona przed dogpile effect Zasoby dynamiczne Cookie Zasoby dynamiczne personalizowane ESI Ajax
  10. 10. Co więcej? Grace Serwuje przeterminowane dane z cache Restarts Umożliwa zresetowanie procesu (powrót do vcl_recv). Możliwa reakcja na błędne odpowiedzi z backendów Moduły curl throttle geoip Normalizacja URL Różne linki prowadzące do tych samych zasobów (przydatne przy statycznych plikach typu js/css) Sterowanie cache TTL można pobierać z backendu (nagłówek)
 Inwalidacja cache przez HTTP
  11. 11. Varnish-Cache w GOG.com
  12. 12. Varnish-Cache w GOG.com Wiele serwerowni Varnish-Cache na maszynach POP wybiera odpowiednie datacenter Obsługa OAuth2 Varnish-Cache rozwiązuje access token na client_id / user_id Cache z cookie Ten sam URL ale wiele wersji językowych, wersja mobilne/ desktop. Ochrona przez DoS Chcemy na Varnish-Cache zrealizować system ochrony przed atakami typu DoS
  13. 13. DZIĘKUJĘ ZA UWAGĘ Zapraszam do dyskusji

×