Pol-Henning Kamp, ĂŒks tuntumaid FreeBSD arendajaid, kes osales selliste sĂŒsteemide loomises nagu MD5crypt, GEOM, GBDE ja FreeBSD Jail, esitles Varnish-Cache 8.0, kĂ”rgtehnoloogilist vahemĂ€lu proksit, mis on mĂ”eldud HTTP kiirendajana töötamiseks. Projekt levitatakse BSD litsentsi alusel ja on kunagi olnud kasutusel projektides nagu Facebook, Wikimedia, Twitter, Vimeo, Tumblr, New York Times ja Guardian.
KĂ”rge jĂ”udlus saavutatakse tĂ€nu mitme lĂ”ime kasutamisele, ĂŒhenduste multiplexerimisele epoll/kqueue kutsete kaudu ning sĂŒsteemsete kutsete sendfile ja madvise rakendamisele. Tavalise riistvara puhul suudab see töötlema 20 Gbps voolu, pakkudes vastuste tagastamise kiirusel 300-1000 korda. VahemĂ€lu hoitakse virtuaalses mĂ€lus. Varnishi eripĂ€ra on vĂ”ime kokku koguda edastatavaid lehti tĂŒkkideks esipaneelil, mÀÀrates kokkupaneku loogika ESI (Edge Side Includes) keeles.
Varnish pakub ka paindlikku konfiguratsioonisĂŒsteemi, kus on lubatud C keeles lisade kasutamine. Konfiguratsiooniks kasutatakse spetsiaalset VCL keelt, mis kompileeritakse seejĂ€rel tĂ€idetavaks binaarseteks koodideks. VCL vĂ”imaldab kirjeldada pĂ€ringu töötlemise poliitikat: mÀÀrata töödeldav sisu, kust seda saada ja kuidas enne edastamist muuta. PĂ”hifunktsionaalsust saab laiendada moodulite kaudu. On olemas koormuse tasakaalustamise, oleku arvestamise ja tagasiside aja mehhanismid.serverid.
Koos uue versiooni vĂ€ljakuulutamisega teatati ka projekti nime muutmisest. Alates jĂ€rgmisest vĂ€ljaandest nimetatakse 'Varnish Cache' ĂŒmber 'Vinyl Cache' kaubamĂ€rgiga seotud nĂ”uete tĂ”ttu, mis on seotud Varnish kaubamĂ€rgiga, mille on registreerinud Varnish Software, kes osales arenduses ja rahastas avatud projekti 'Varnish Cache'. 22 aastat tagasi rahastas Varnish Cache arendust Norra ajaleht Verdens Gang, kes palkas Pol-Henning Kampi koodi kirjutamiseks ja andis Linpro'le toeks. Hiljem loodi Linpro'st Varnish Software. Nii juhtus, et nimi Varnish Cache seostus avatud projektiga, samas kui Varnish Software seostus Ă€riettevĂ”ttega.
Varnishi nime kasutamine avatud projekti nimes anti suulise kokkuleppe kaudu ja Paul-Henning Kamp ei nĂ”udnud kirjaliku lepingu sĂ”lmimist. Veel hiljuti elas ettevĂ”te ja avatud projekt rahus kĂ”rvuti, kuid siis sekkusid intellektuaalomandi juristid, kelle seisukoht on, et Varnish Cache nime ei saa kasutada ĂŒheski kontekstis ilma selgesĂ”nalise loata.
Kuna Varnish Software'i loataotlemise vajadus takistas mÔningaid osalejaid arendusse liitumast, tehti katse kokkuleppele jÔuda, kuid juristid jÀtkuvalt vÀidavad, et Varnish Cache nimi kuulub Varnish Software'ile ning nad lubavad selle kasutamist avatud projekti poolt teatud piirangute korral, olles valmis ka vetoÔigust rakendama. Varnish Cache ei ole valmis nende piirangutega leppima, kuna plaanib jÀtkata arengut iseseisva projektina.
PĂ€rast ĂŒmbernimetamist kavandatakse edasiste arenduste koordineerimise jaoks luua mittetulundusĂŒhing, mis tegutseb Taani jurisdiktsioonis. Katusorganisatsiooni pĂ”hikirjas on sĂ€testatud, et organisatsioon ei tohi omada ega kĂ€sutada raha. EesmĂ€rkidena on vĂ€lja toodud: tarkvara arendamine, hooldamine ja levitamine. Organisatsiooniga vĂ”ib liituda igaĂŒhe, kelle olemasolevad liikmed heaks kiidavad. Juhtimiseks luuakse osalejate poolt valitav komitee.
Varnish-Cache 8.0 peamised uuendused:
- Taustprotsessis varnishd, mis vĂ”tab vastu klientide pĂ€ringud, edastab pĂ€ringud tagaplaanile ja vahemĂ€lestab vastuseid, on rakendatud parameeter âuncacheable_ttlâ objekti eluaja (TTL) mÀÀramiseks, mis on mĂ€rgitud mittevahemĂ€lutatavaks.
- Parameetri ban_any_variant vaikimisi vÀÀrtus on seatud 0, mille korral kehtib blokeerimislindile vaid sobivate objektide variandid.
- Stop-kĂ€sku andmine toob nĂŒĂŒd kaasa ootamise, kuni kĂ”ik kĂ€imasolevad tehingud (VCL-kĂ€sitlejad) on lĂ”pule viidud.
- Kasutusele on vĂ”etud tugi VCL-koodist teatud jooksva parameetri juurde pÀÀsemiseks, kasutades sĂŒntaksit âparam.â.
- Lisatud on vĂ”imalus ĂŒle kirjutada vastuste â304 Not Modifiedâ genereerimise loogika.
- Vanad VMOD-funktsioonid std.real2integer(), std.real2time(), std.time2integer() ja std.time2real() on eemaldatud, nende asemel tuleks kasutada sĂŒntaksit "std.integer(real=std.round(âŠ), fallback=âŠ)" vĂ”i "std.integer(time=âŠ, fallback=âŠ). Funktsioon format_rfc1123() on ĂŒmber nimetatud cookie.format_date().
- VUT-is ja varnishtest-is on tagatud stektrakenduse logimise salvestamine pÀrast ootamatut lÔpetamist.
- Varnishadm utiliiti on lisatud muutuja âobj.last_hitâ, mida saab kasutada objektide eemaldamiseks vahemallist, millele ei ole pikka aega ligi pÀÀsetud.
- Varnishstat utiliiti on lisatud uued statistilised loendurid VCP.ref_hit, VCP.ref_miss, transit_stored ja transit_buffered.
Allikas: opennet.ru
