Publication de Varnish-Cache 8.0. Changement de nom du projet en raison de la marque déposée.

Poul-Henning Kamp, l'un des célèbres développeurs de FreeBSD, qui a participé à la création de systèmes tels que MD5crypt, GEOM, GBDE et FreeBSD Jail, a présenté la version 8.0 de Varnish-Cache, un proxy de mise en cache haute performance destiné à fonctionner comme un accélérateur HTTP. Le projet est distribué sous la licence BSD et a été utilisé par des projets tels que Facebook, Wikimedia, Twitter, Vimeo, Tumblr, le New York Times et le Guardian.

La haute performance est atteinte grâce à l'utilisation du multithreading, du multiplexage des connexions via des appels epoll/kqueue, et à l'utilisation des appels systèmes sendfile et madvise. Sur du matériel standard, il peut traiter un flux à 20 Gbps et accélérer le traitement des requêtes de 300 à 1000 fois. Le cache est stocké en mémoire virtuelle. Une caractéristique de Varnish est sa capacité à assembler les pages renvoyées en plusieurs parties côté frontend, définissant la logique d'assemblage dans le langage ESI (Edge Side Includes).

Varnish propose également un système de configuration flexible, permettant l'utilisation d'instructions en langage C. Pour la configuration, un langage spécial appelé VCL est utilisé, qui est ensuite compilé en code binaire exécutable. VCL permet de décrire la politique de traitement des requêtes : définir le contenu à traiter, d'où l'obtenir et comment le transformer avant de le renvoyer. Les fonctionnalités de base peuvent être étendues via des modules. Des mécanismes de répartition de charge, de suivi d'état et de temps de réponse du backend sont présents.serveurs.

Avec l'annonce de la nouvelle version, il a été annoncé que le nom du projet allait bientôt changer. À partir de la prochaine version, « Varnish Cache » sera renommé « Vinyl Cache » en raison de revendications liées à la marque Varnish, qui est enregistrée au nom de Varnish Software, une entreprise qui a participé au développement et a soutenu financièrement le projet ouvert « Varnish Cache ». Il y a 22 ans, le développement de Varnish Cache a été financé par le journal norvégien Verdens Gang, qui a engagé Poul-Henning Kamp pour écrire le code, et la société Linpro pour le support. Plus tard, Linpro a donné naissance à la société Varnish Software. Il en est résulté que le nom Varnish Cache était associé au projet ouvert, tandis que Varnish Software était associé à l'entreprise commerciale.

La possibilité d'utiliser le nom Varnish dans le titre du projet ouvert a été accordée par accord verbal, et Paul-Henning Kamp n'a pas insisté pour établir un accord écrit. Jusqu'à récemment, l'entreprise et le projet ouvert coexistaient paisiblement, mais ensuite, des avocats spécialisés en propriété intellectuelle sont intervenus, arguant qu'il est interdit d'utiliser le nom Varnish Cache dans n'importe quel contexte sans autorisation explicite.

Étant donné que la nécessité d'obtenir l'autorisation de Varnish Software a empêché certains participants de rejoindre le projet de développement, une tentative de négociation a été faite, mais les avocats continuent d'affirmer que le nom Varnish Cache appartient à Varnish Software et qu'ils autorisent son utilisation par le projet ouvert sous certaines restrictions et avec la possibilité d'opposition. Varnish Cache n'est pas prêt à accepter ces restrictions, car il souhaite continuer à se développer en tant que projet indépendant.

Après le changement de nom, un partenariat à but non lucratif sera créé pour coordonner le développement, agissant sous la juridiction du Danemark. Les statuts précisent que l'organisation ne peut posséder ni gérer d'argent. Parmi les objectifs déclarés figurent le développement, la maintenance et la distribution de logiciels. Quiconque peut rejoindre l'organisation après approbation par les membres existants. Un comité sera mis en place pour la gestion, élu par les participants.

Les principales nouveautés de Varnish-Cache 8.0 :

  • Dans le processus en arrière-plan de varnishd, qui reçoit les requêtes des clients, transmet les requêtes aux backends et met en cache les réponses, un paramètre « uncacheable_ttl » a été implémenté pour définir la durée de vie (TTL) des objets marqués comme non-cacheables.
  • La valeur par défaut du paramètre ban_any_variant est définie à 0, où la liste de blocage ne s'applique qu'aux variantes correspondantes des objets.
  • La commande stop entraîne maintenant l'attente de l'achèvement de toutes les transactions en cours (VCL-handlers).
  • Ajout de la prise en charge de l'accès aux certains paramètres d'exécution à partir du code VCL, utilisant la syntaxe « param. ».
  • Ajout de la possibilité de redéfinir la logique de formation des réponses « 304 Not Modified ».
  • Les fonctions VMOD obsolètes std.real2integer(), std.real2time(), std.time2integer() et std.time2real() ont été supprimées, et il est recommandé d'utiliser la syntaxe «std.integer(real=std.round(…), fallback=…)» ou «std.integer(time=…, fallback=…). La fonction format_rfc1123() a été renommée en cookie.format_date().
  • Dans VUT et varnishtest, l'enregistrement des traces de pile dans le journal après un plantage a été assuré.
  • La variable «obj.last_hit» a été ajoutée à l'outil varnishadm, pouvant être utilisée pour organiser la suppression d'objets du cache qui n'ont pas été consultés depuis longtemps.
  • De nouveaux compteurs de statistiques ont été ajoutés à l'outil varnishstat : VCP.ref_hit, VCP.ref_miss, transit_stored et transit_buffered.

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster