Lansarea Varnish-Cache 8.0. Schimbarea numelui proiectului din cauza mărcii comerciale

Poul-Henning Kamp, unul dintre dezvoltatorii renumiți ai FreeBSD, care a participat la crearea unor sisteme precum MD5crypt, GEOM, GBDE și FreeBSD Jail, a prezentat lansarea Varnish-Cache 8.0, un proxy de caching de înaltă performanță, destinat să funcționeze ca un accelerator HTTP. Proiectul este distribuit sub licența BSD și a fost folosit în trecut în proiecte precum Facebook, Wikimedia, Twitter, Vimeo, Tumblr, New York Times și Guardian.

Performanța ridicată este realizată prin aplicarea multi-threading-ului, multiplexarea conexiunilor prin apeluri epoll/kqueue și utilizarea apelurilor de sistem sendfile și madvise. Pe echipamente obișnuite, poate procesa un flux la 20 Gbps și asigură o accelerare a timpului de răspuns de 300-1000 de ori. Cache-ul este păstrat în memoria virtuală. O caracteristică a Varnish este capacitatea de a construi paginile livrate în părți pe partea de frontend, determinând logica de construcție în limbajul ESI (Edge Side Includes).

Varnish oferă de asemenea un sistem de configurare flexibil, care permite utilizarea inserțiilor în limbajul C. Configurarea se face printr-un limbaj special VCL, care este apoi compilat în cod binar executabil. VCL permite descrierea politicii de procesare a cererii: definirea conținutului procesat, de unde va fi obținut și cum va fi transformat înainte de livrare. Funcționalitatea de bază poate fi extinsă prin module. Există mecanisme de echilibrare a sarcinii, monitorizarea stării și a timpului de reacție al backend-ului.servere.

Odată cu anunțul noii versiuni, s-a anunțat și o schimbare viitoare a numelui proiectului. Începând cu următoarea lansare, «Varnish Cache» va fi redenumit «Vinyl Cache» din cauza unor pretenții legate de marca comercială Varnish, înregistrată de compania Varnish Software, care a participat la dezvoltare și a susținut financiar proiectul deschis «Varnish Cache». Cu 22 de ani în urmă, dezvoltarea Varnish Cache a fost finanțată de ziarul norvegian Verdens Gang, care l-a angajat pe Poul-Henning Kamp pentru a scrie codul și compania Linpro pentru suport. Ulterior, din Linpro a fost înființată compania Varnish Software. Așa s-a întâmplat că numele Varnish Cache s-a asociat cu proiectul deschis, în timp ce Varnish Software s-a asociat cu compania comercială.

Utilizarea numelui Varnish în denumirea proiectului deschis a fost oferită printr-un acord verbal, iar Paul-Henning Kamp nu a insistat pentru încheierea unui acord scris. Până de curând, compania și proiectul deschis au coexistat în armonie, dar apoi avocații de proprietate intelectuală au intervenit, susținând că numele Varnish Cache nu poate fi folosit în niciun context fără permisiune explicită.

Deoarece necesitatea obținerii permisiunii de la Varnish Software a împiedicat unii participanți să se alăture dezvoltării, s-a încercat o negociere, dar avocații continuă să afirme că numele Varnish Cache aparține companiei Varnish Software și ei permit utilizarea acestuia de către proiectul deschis cu anumite restricții și posibilitatea de veto. Varnish Cache nu este pregătit să accepte aceste restricții, deoarece intenționează să continue să se dezvolte ca un proiect independent.

După redenumire, pentru continuarea coordonării dezvoltării se preconizează înființarea unui parteneriat non-profit care va acționa în jurisdicția Danemarcei. În statut este stipulat că organizația nu poate deține și gestiona bani. Printre obiectivele declarate se numără: dezvoltarea, mentenanța și distribuția software-ului. Oricine poate deveni membru al organizației după aprobat de către participanții existenți. Va fi organizat un comitet pentru administrare, ales de membri.

Principalele noutăți Varnish-Cache 8.0:

  • În procesul de fundal varnishd, care primește cereri de la clienți, transmite cererile către backend-uri și cache-ează răspunsul, a fost implementat parametrul „uncacheable_ttl” pentru a determina timpul de viață (TTL) al obiectelor marcate ca necacheabile.
  • Valoarea parametrului ban_any_variant este setată implicit la 0, în care lista de blocare se aplică doar variantelor corespunzătoare ale obiectelor.
  • Transmiterea comenzii stop acum duce la așteptarea finalizării tuturor tranzacțiilor în curs de desfășurare (procese VCL).
  • A fost adăugată suport pentru accesarea din codul VCL a unor parametrii runtime, folosind sintaxa „param.”.
  • A fost adăugată posibilitatea de a redefini logica generării răspunsurilor „304 Not Modified”.
  • Funcțiile VMOD depășite std.real2integer(), std.real2time(), std.time2integer() și std.time2real() au fost eliminate, iar în locul acestora ar trebui utilizat sintaxă „std.integer(real=std.round(…), fallback=…)” sau „std.integer(time=…, fallback=…). Funcția format_rfc1123() a fost redenumită în cookie.format_date().
  • În VUT și varnishtest a fost asigurată înregistrarea trasărilor de stivă în log după o întrerupere neașteptată.
  • În utilitarul varnishadm a fost adăugată variabila „obj.last_hit”, care poate fi utilizată pentru a organiza ștergerea obiectelor din cache la care nu a fost accesat de mult timp.
  • În utilitarul varnishstat au fost adăugate noi contorii de statistică VCP.ref_hit, VCP.ref_miss, transit_stored și transit_buffered.

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster