Veröffentlichung von Varnish-Cache 8.0. Umbenennung des Projekts aufgrund von Markenrechten.

Poul-Henning Kamp, einer der bekannten Entwickler von FreeBSD und beteiligt an der Schaffung von Systemen wie MD5crypt, GEOM, GBDE und FreeBSD Jail, hat die Version 8.0 von Varnish-Cache veröffentlicht, einem hochleistungsfähigen Cache-Proxy, der als HTTP-Beschleuniger fungiert. Das Projekt wird unter der BSD-Lizenz verteilt und wurde zu einem bestimmten Zeitpunkt in Projekten wie Facebook, Wikimedia, Twitter, Vimeo, Tumblr, The New York Times und The Guardian genutzt.

Die hohe Leistung wird durch die Anwendung von Multithreading, dem Multiplexing von Verbindungen mittels epoll/kqueue und durch die Nutzung der Systemaufrufe sendfile und madvise erzielt. Auf herkömmlicher Hardware kann ein Datenstrom von 20 Gbps verarbeitet werden und die Antwortzeiten bei Anfragen um das 300-1000-fache beschleunigen. Der Cache wird im virtuellen Speicher gespeichert. Eine Besonderheit von Varnish ist die Fähigkeit, die zurückgegebenen Seiten auf der Frontend-Seite in Teilen zu sammeln, wobei die Logik der Sammlung in ESI (Edge Side Includes) beschrieben wird.

Varnish bietet auch ein flexibles Konfigurationssystem, in dem Einfügungen in der Programmiersprache C erlaubt sind. Für die Konfiguration wird eine spezielle Sprache namens VCL verwendet, die anschließend in ausführbaren Binärcode kompiliert wird. VCL ermöglicht es, die Policy für die Anfrageverarbeitung zu beschreiben: festzulegen, welcher Inhalt bearbeitet wird, woher er kommt und wie er vor der Ausgabe umgewandelt wird. Die grundlegende Funktionalität kann durch Module erweitert werden. Es gibt Mechanismen zur Lastverteilung, zur Zustandsverfolgung und zur Reaktionszeit der Backends.Server.

Zusammen mit der Ankündigung der neuen Version wurde eine bevorstehende Änderung des Projektnamens bekanntgegeben. Ab der nächsten Ausgabe wird "Varnish Cache" in "Vinyl Cache" umbenannt aufgrund von Markenrechtsansprüchen im Zusammenhang mit dem eingetragenen Markennamen Varnish, der der Firma Varnish Software gehört, die an der Entwicklung beteiligt war und das Open-Source-Projekt "Varnish Cache" finanziell unterstützte. Vor 22 Jahren wurde die Entwicklung von Varnish Cache von der norwegischen Zeitung Verdens Gang finanziert, die Poul-Henning Kamp anheuerte, um den Code zu schreiben, und die Firma Linpro für den Support engagierte. Später wurde aus Linpro die Firma Varnish Software gegründet. Es stellte sich heraus, dass der Name Varnish Cache mit dem Open-Source-Projekt assoziiert war, während Varnish Software mit einem kommerziellen Unternehmen in Verbindung gebracht wurde.

Die Möglichkeit, den Namen Varnish im Titel des Open-Source-Projekts zu verwenden, wurde aufgrund einer mündlichen Vereinbarung bereitgestellt, und Paul-Henning Kamp bestand nicht auf einem schriftlichen Vertrag. Bis vor kurzem koexistierten das Unternehmen und das Open-Source-Projekt friedlich, doch dann mischten sich die Anwälte für geistiges Eigentum ein, deren Position ist, dass der Name Varnish Cache in keinem Kontext ohne ausdrückliche Genehmigung verwendet werden darf.

Da die Notwendigkeit, eine Genehmigung von Varnish Software zu erhalten, einigen Teilnehmern die Mitwirkung an der Entwicklung verhinderte, wurde versucht, eine Einigung zu erzielen, doch die Anwälte behaupten weiterhin, dass der Name Varnish Cache der Firma Varnish Software gehört, und sie erlauben dessen Nutzung durch das Open-Source-Projekt unter bestimmten Einschränkungen und der Möglichkeit eines Vetos. Varnish Cache ist nicht bereit, diese Einschränkungen zu akzeptieren, da es beabsichtigt, sich als unabhängiges Projekt weiterzuentwickeln.

Nach der Umbenennung ist geplant, zur weiteren Koordination der Entwicklung eine gemeinnützige Partnerschaft zu gründen, die in der Rechtsordnung Dänemarks tätig sein wird. In der Satzung ist festgelegt, dass die Organisation kein Geld besitzen oder verwalten kann. Zu den Zielen gehören die Entwicklung, Wartung und Verbreitung von Software. Jeder, der dies wünscht, kann der Organisation nach Genehmigung durch die bestehenden Mitglieder beitreten. Zur Verwaltung wird ein Komitee eingerichtet, das von den Mitgliedern gewählt wird.

Die wichtigsten Neuerungen in Varnish-Cache 8.0:

  • Im Hintergrundprozess varnishd, der Anfragen von Clients entgegennimmt, Anfragen an Backend-Server weiterleitet und Antworten zwischenspeichert, wurde der Parameter „uncacheable_ttl“ implementiert, um die Lebensdauer (TTL) von als nicht zwischenspeicherbar markierten Objekten zu bestimmen.
  • Der Parameter ban_any_variant ist standardmäßig auf 0 gesetzt, wobei die Sperrliste nur auf übereinstimmende Varianten von Objekten angewendet wird.
  • Die Übertragung des Befehls stop führt nun zu einem Warten auf den Abschluss aller laufenden Transaktionen (VCL-Handler).
  • Die Unterstützung für den Zugriff aus dem VCL-Code auf einige Laufzeitparameter wurde hinzugefügt, wobei die Syntax „param.“ verwendet wird.
  • Die Möglichkeit, die Logik zur Erstellung von Antworten auf „304 Not Modified“ zu überschreiben, wurde hinzugefügt.
  • Veraltete VMOD-Funktionen std.real2integer(), std.real2time(), std.time2integer() und std.time2real() wurden entfernt, stattdessen sollte die Syntax „std.integer(real=std.round(…), fallback=…)“ oder „std.integer(time=…, fallback=…). Die Funktion format_rfc1123() wurde in cookie.format_date() umbenannt.
  • In VUT und varnishtest wurde die Protokollierung von Stack-Trace nach einem unerwarteten Absturz sichergestellt.
  • Der Befehl varnishadm wurde um die Variable „obj.last_hit“ erweitert, die zur Organisation des Löschens von Objekten aus dem Cache verwendet werden kann, auf die seit langem nicht mehr zugegriffen wurde.
  • In das Tool varnishstat wurden neue Statistikzähler VCP.ref_hit, VCP.ref_miss, transit_stored und transit_buffered hinzugefügt.

Quelle: opennet.ru

60GB SSD 8Gb DDR4