Lanzamiento de Varnish-Cache 8.0. Cambio de nombre del proyecto debido a la marca registrada.

Poul-Henning Kamp, destacado desarrollador de FreeBSD que contribuyó a sistemas como MD5crypt, GEOM, GBDE y FreeBSD Jail, ha lanzado Varnish-Cache 8.0, un proxy de caché de alto rendimiento diseñado para actuar como acelerador HTTP. El proyecto se distribuye bajo la licencia BSD y ha sido utilizado anteriormente por Facebook, Wikimedia, Twitter, Vimeo, Tumblr, The New York Times y The Guardian.

Se logra un alto rendimiento mediante el uso de multihilo, la multiplexación de conexiones mediante llamadas epoll/kqueue y el uso de las llamadas al sistema sendfile y madvise. En hardware estándar, puede gestionar un flujo de 20 Gbps y proporcionar una aceleración de 300 a 1000 veces en la respuesta a las solicitudes. La caché se almacena en memoria virtual. La característica única de Varnish es su capacidad para ensamblar las páginas devueltas por partes en el frontend, definiendo la lógica de ensamblaje mediante el lenguaje ESI (Edge Side Includes).

Varnish también ofrece un sistema de configuración flexible que permite el uso de inserciones en lenguaje C. La configuración se realiza mediante un lenguaje VCL específico, que posteriormente se compila en código binario ejecutable. VCL permite describir la política de procesamiento de solicitudes: define el contenido que se procesará, dónde obtenerlo y cómo transformarlo antes de servirlo. La funcionalidad básica se puede ampliar mediante módulos. Se incluyen mecanismos para el equilibrio de carga, la gestión de estado y el tiempo de respuesta del backend.servidores.

Junto con el anuncio de la nueva versión, se anunció un próximo cambio de nombre para el proyecto. A partir de la próxima versión, "Varnish Cache" pasará a llamarse "Vinyl Cache" debido a reclamaciones relacionadas con la marca Varnish, registrada a nombre de Varnish Software, empresa que contribuyó y financió el proyecto de código abierto Varnish Cache. Hace veintidós años, el desarrollo de Varnish Cache fue financiado por el periódico noruego Verdens Gang, que contrató a Poul-Henning Kamp para escribir el código y a Linpro para su mantenimiento. Posteriormente, Linpro fundó Varnish Software. El nombre Varnish Cache pasó a asociarse con el proyecto de código abierto, mientras que Varnish Software se asoció con la empresa comercial.

El uso del nombre Varnish en el proyecto de código abierto se concedió mediante acuerdo verbal, y Poul-Henning Kamp no insistió en un acuerdo escrito. Hasta hace poco, la empresa y el proyecto de código abierto coexistían pacíficamente, pero entonces intervinieron abogados especializados en propiedad intelectual, argumentando que el nombre Varnish Cache no podía usarse en ningún contexto sin permiso explícito.

Dado que la necesidad de obtener el permiso de Varnish Software impidió que algunos participantes se unieran al desarrollo, se intentó llegar a un acuerdo. Sin embargo, los abogados insisten en que el nombre Varnish Cache pertenece a Varnish Software y que permiten su uso por parte del proyecto de código abierto bajo ciertas restricciones y poder de veto. Varnish Cache no está dispuesto a aceptar estas restricciones, ya que pretende continuar desarrollándose como un proyecto independiente.

Tras el cambio de nombre, se establecerá una asociación sin fines de lucro para coordinar aún más el desarrollo, que operará bajo la jurisdicción danesa. El estatuto estipula que la organización no puede poseer ni gestionar fondos. Sus objetivos declarados incluyen el desarrollo, el mantenimiento y la distribución de software. Cualquier persona puede unirse a la organización tras la aprobación de los miembros existentes. Se establecerá un comité de gobernanza elegido por los miembros.

Principales innovaciones de Varnish-Cache 8.0:

  • El proceso en segundo plano varnishd, que acepta solicitudes de los clientes, pasa solicitudes a los backends y almacena en caché la respuesta, implementa el parámetro "uncacheable_ttl" para determinar el tiempo de vida (TTL) de los objetos marcados como no almacenables en caché.
  • El parámetro ban_any_variant tiene como valor predeterminado 0, lo que hace que la lista de bloqueos se aplique únicamente a las variantes de objeto coincidentes.
  • Al emitir un comando de detención ahora todas las transacciones en ejecución (controladores VCL) esperan a que se completen.
  • Se agregó soporte para acceder a algunos parámetros de tiempo de ejecución desde el código VCL usando "param. ".
  • Se agregó la capacidad de anular la lógica para generar respuestas “304 No modificado”.
  • Se han eliminado las funciones obsoletas de VMOD std.real2integer(), std.real2time(), std.time2integer() y std.time2real(). En su lugar, se debe usar la sintaxis "std.integer(real=std.round(…), fallback=…)" o "std.integer(time=…, fallback=…". La función format_rfc1123() se ha renombrado como cookie.format_date().
  • VUT y varnishtest ahora registran seguimientos de pila después de un bloqueo.
  • La utilidad varnishadm se ha actualizado con la variable "obj.last_hit", que se puede utilizar para organizar la eliminación de objetos de la caché a los que no se ha accedido durante mucho tiempo.
  • Se han agregado nuevos contadores de estadísticas VCP.ref_hit, VCP.ref_miss, transit_stored y transit_buffered a la utilidad varnishstat.

Fuente: opennet.ru

Compre alojamiento confiable para sitios con protección DDoS, servidores VPS VDS 🔥 Compra alojamiento web fiable con protección DDoS, servidores VPS VDS | ProHoster