Vydání Varnish-Cache 8.0. Změna názvu projektu kvůli ochranné známce.

Poul-Henning Kamp, jeden z významných vývojářů FreeBSD, který se podílel na vytvoření systémů jako MD5crypt, GEOM, GBDE a FreeBSD Jail, představil vydání Varnish-Cache 8.0, vysoce výkonného cache proxy určeného k použití jako HTTP akcelerátor. Projekt je distribuován pod licencí BSD a v minulosti byl použit v projektech Facebook, Wikimedia, Twitter, Vimeo, Tumblr, New York Times a Guardian.

Vysoký výkon je dosažen díky využití vícetenčnosti, multiplexování spojení pomocí volání epoll/kqueue a využití systémových volání sendfile a madvise. Na běžném zařízení dokáže zpracovat tok o rychlosti 20 Gbps a zajistit urychlení odpovědí v rozmezí 300-1000krát. Cache je uložena ve virtuální paměti. Varnish má schopnost sestavovat vrácené stránky po částech na straně front-endu, přičemž určuje logiku sestavení pomocí jazyka ESI (Edge Side Includes).

Varnish také poskytuje flexibilní konfigurační systém, ve kterém je povoleno používání vložek v jazyce C. Pro konfiguraci se používá speciální jazyk VCL, který je následně kompilován do spustitelného binárního kódu. VCL umožňuje popsat politiku zpracování žádosti: definovat zpracovávaný obsah, odkud ho získat a jak jej transformovat před vrácením. Základní funkčnost může být rozšířena prostřednictvím modulů. Jsou přítomny mechanismy vyvažování zátěže, sledování stavu a doby odezvy backendu.servery.

Společně s oznámením o nové verzi bylo oznámeno také blížící se změna názvu projektu. Od příštího vydání bude „Varnish Cache“ přejmenován na „Vinyl Cache“ kvůli nárokům spojeným s ochrannou známkou Varnish, registrovanou na společnost Varnish Software, která se podílela na vývoji a finančně podporovala otevřený projekt „Varnish Cache“. Před 22 lety byla vývoj Varnish Cache financován norským novinovým serverem Verdens Gang, který najal Poul-Henning Kamp na psaní kódu a firmu Linpro na údržbu. Později se z Linpro stala společnost Varnish Software. Tak se stalo, že název Varnish Cache byl spojován s otevřeným projektem, zatímco Varnish Software s komerční společností.

Možnost použití jména Varnish v názvu otevřeného projektu byla poskytnuta na základě ústní dohody a Paul-Henning Kamp netrval na uzavření písemné smlouvy. Až do nedávné doby společnost a otevřený projekt mírumilovně koexistovaly, ale poté zasáhli právníci pro duševní vlastnictví, jejichž pozice je, že nelze použít jméno Varnish Cache v jakémkoli kontextu bez výslovného povolení.

Jelikož potřeba získat povolení od Varnish Software bránila některým účastníkům připojit se k vývoji, byla učiněna snaha o dohodu, ale právníci i nadále tvrdí, že jméno Varnish Cache patří společnosti Varnish Software a povolují jeho použití otevřeným projektem za určitých omezení a s možností veta. Varnish Cache není připraven se s těmito omezeními smířit, protože má v úmyslu pokračovat v nezávislém vývoji.

Po přejmenování pro další koordinaci vývoje se plánuje vytvoření neziskového partnerství, které bude působit v jurisdikci Dánska. Ve stanovách je určeno, že organizace nemůže vlastnit ani spravovat peníze. Mezi cíli jsou uvedeny: vývoj, údržba a distribuce softwaru. Každý zájemce se může připojit po schválení stávajícími účastníky. Pro řízení bude zřízen výbor volený účastníky.

Hlavní novinky Varnish-Cache 8.0:

  • Ve background procesu varnishd, který přijímá žádosti od klientů, předává žádosti backendům a ukládá odpověď do cache, byl implementován parametr „uncacheable_ttl“ pro určení doby životnosti (TTL) objektů označených jako nek-cacheovatelné.
  • Hodnota parametru ban_any_variant je výchozí nastavena na 0, při které se seznam blokování aplikuje pouze na shodné varianty objektů.
  • Předání příkazu stop nyní znamená, že se čeká na dokončení všech probíhajících transakcí (VCL-handlerů).
  • Byla přidána podpora přístupu z kódu VCL k některým runtime parametrům pomocí syntaxe „param.“.
  • Byla přidána možnost přepsání logiky vytváření odpovědí „304 Not Modified“.
  • Byly odstraněny zastaralé VMOD funkce std.real2integer(), std.real2time(), std.time2integer() a std.time2real(), místo nichž by se měl používat syntaxi „std.integer(real=std.round(…), fallback=…)“ nebo „std.integer(time=…, fallback=…). Funkce format_rfc1123() byla přejmenována na cookie.format_date().
  • Ve VUT a varnishtest byla zajištěna zápis trasovacích zásobníků do protokolu po havarijním ukončení.
  • Do nástroje varnishadm byla přidána proměnná „obj.last_hit“, kterou lze využít pro organizaci odstraňování objektů z cache, ke kterým se dlouho nikdo nehlásil.
  • Do nástroje varnishstat byly přidány nové statistické počítače VCP.ref_hit, VCP.ref_miss, transit_stored a transit_buffered.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster