Varnish is een HTTP-accelerator, ontworpen voor het cachen van dynamische websites. In tegenstelling tot webservers zoals Apache en nginx, en andere proxyservers zoals Squid, is Varnish slechts een proxyserver (met uitsluitend ondersteuning voor het HTTP-protocol). Varnish wordt gebruikt door bekende websites als Wikipedia, The New York Times, Facebook, Twitter, Vimeo en Tumblr.

Geschiedenis De ontwikkeling van Varnish werd gestart door de Noorse tabbloid nieuwskrant Verdens Gang. De belangrijkste ontwikkelaar van Varnish is Poul-Henning Kamp, een bekende FreeBSD-ontwikkelaar. Management, de infrastructuur en hulp bij de ontwikkeling van Varnish werd gegeven door het eveneens Noorse Linpro, een bedrijf dat advies geeft over Linux. Later werden de steun, ontwikkeling en het management overgedragen aan Varnish Software.

Varnish is open-source en is beschikbaar onder een two-clause BSD-licentie. Versie 1.0 van Varnish kwam uit in 2006,"Making Catalyst Sites Shine with Varnish", Dec. 14, 2008 (gearchiveerd)"Varnish 1.0 released", Sep. 20, 2006 Varnish 2.0 in 2008,"Varnish 2.0 released", Oct. 15 2008 Varnish 3.0 in 2011"Varnish 3.0.0 released", Jun. 16 2011 en Varnish 4.0 in 2014."Varnish 4.0.0 released", Apr. 10 2014

Architectuur Varnish slaat data op in het virtuele geheugen en geeft het besturingssysteem de taak om te bepalen wat opgeslagen blijft in het geheugen en wat opgeslagen wordt op de schijf.

Varnish maakt veel gebruik van threads, waarbij elke verbinding wordt afgehandeld door een workthread. Wanneer de limiet van actieve worker threads is bereikt, worden inkomende verbindingen in een overflow-wachtrij geplaatst; inkomende verbindingen worden geweigerd.

Men kan Varnish configuren door middel van de Varnish Configuration Language (VCL). Hierdoor kan men zelf bepalen wat er met individuele verzoeken wordt gedaan. Wanneer een VCL-script wordt geladen wordt deze omgezet naar C en gecompileerd door een gedeeld object van de door het systeem gebruikte compiler, om vervolgens gelijk in Varnish geladen te worden zonder een herstart van de service.

Andere functies Plugin-ondersteuning met Varnish-modules Gzip-compressie en decompressie HTTP-streaming "pass & fetch" Experimentele ondersteuning voor blijvende opslag, zonder het LRU-cachealggoritme (Least Recently Used) te gebruiken

Zie ook Proxyserver

Externe links Officiële website voor de ontwikkeling van Varnish Officiële commerciële website

Categorie:Software geschreven in C Categorie:Proxysoftware Categorie:Opensourcesoftware en vrije software Categorie:Webserver-software