Lançamento do Varnish-Cache 8.0. Mudança de nome do projeto devido a marca registrada

Poul-Henning Kamp, um dos desenvolvedores mais conhecidos do FreeBSD, que participou da criação de sistemas como MD5crypt, GEOM, GBDE e FreeBSD Jail, apresentou o lançamento do Varnish-Cache 8.0, um proxy de cache de alto desempenho projetado para funcionar como acelerador HTTP. O projeto é distribuído sob a licença BSD e foi utilizado em projetos como Facebook, Wikimedia, Twitter, Vimeo, Tumblr, New York Times e Guardian.

A alta performance é alcançada através do uso de multithreading, multiplexação de conexões com chamadas epoll/kqueue e a utilização das chamadas de sistema sendfile e madvise. Pode processar um fluxo de 20 Gbps em hardware comum e garantir uma aceleração de resposta de 300 a 1000 vezes. O cache é armazenado na memória virtual. Uma característica do Varnish é a capacidade de compor páginas entregues em partes no lado do frontend, definindo a lógica de composição na linguagem ESI (Edge Side Includes).

O Varnish também oferece um sistema de configuração flexível, permitindo o uso de inserções na linguagem C. Para configuração, utiliza uma linguagem especial chamada VCL, que é então compilada em código binário executável. O VCL permite descrever a política de tratamento da solicitação: definir o conteúdo a ser processado, de onde obtê-lo e como transformá-lo antes da entrega. A funcionalidade básica pode ser expandida através de módulos. Existem mecanismos de balanceamento de carga, monitoramento de estado e tempo de resposta do backend.servidores.

Com o anúncio da nova versão, foi declarado que haverá uma mudança de nome do projeto. A partir da próxima versão, "Varnish Cache" será renomeado para "Vinyl Cache" devido a questões relacionadas à marca registrada Varnish, registrada pela empresa Varnish Software, que participou do desenvolvimento e apoiou financeiramente o projeto aberto "Varnish Cache". Há 22 anos, o desenvolvimento do Varnish Cache foi financiado pelo jornal norueguês Verdens Gang, que contratou Poul-Henning Kamp para escrever o código e a empresa Linpro para dar suporte. Mais tarde, a Linpro se tornou a Varnish Software. Ocorreu que o nome Varnish Cache passou a ser associado ao projeto aberto, enquanto a Varnish Software foi ligada à empresa comercial.

A possibilidade de usar o nome Varnish no título do projeto aberto foi concedida por meio de um acordo verbal, e Paul-Henning Kamp não insistiu na formalização de um acordo escrito. Até recentemente, a empresa e o projeto aberto coexistiam pacificamente, mas então entraram em cena advogados especializados em propriedade intelectual, cuja posição é que não se pode usar o nome Varnish Cache em qualquer contexto sem a devida autorização.

Como a necessidade de obter permissão da Varnish Software impediu alguns participantes de se juntarem ao desenvolvimento, houve uma tentativa de negociação, mas os advogados continuam afirmando que o nome Varnish Cache pertence à Varnish Software e eles permitem seu uso no projeto aberto sob certas condições e com a possibilidade de veto. O Varnish Cache não está disposto a aceitar tais restrições, pois pretende continuar a se desenvolver como um projeto independente.

Após a renomeação, para a coordenação do desenvolvimento, planeja-se criar uma parceria sem fins lucrativos, que operará sob a jurisdição da Dinamarca. O estatuto estabelece que a organização não pode possuir ou administrar dinheiro. Entre os objetivos anunciados estão: o desenvolvimento, suporte e distribuição de software. Qualquer pessoa pode se juntar à organização após a aprovação dos participantes existentes. Para a gestão, será formado um comitê eleito pelos membros.

As principais novidades do Varnish-Cache 8.0:

  • No processo em segundo plano varnishd, que recebe pedidos dos clientes, encaminha os pedidos para os backends e faz o cache das respostas, foi implementado o parâmetro "uncacheable_ttl" para definir o tempo de vida (TTL) de objetos marcados como não cacheáveis.
  • O valor do parâmetro ban_any_variant está configurado como 0 por padrão, onde a lista de bloqueio se aplica apenas às variantes correspondentes dos objetos.
  • A execução do comando stop agora leva a uma espera pela conclusão de todas as transações em curso (processadores VCL).
  • Adicionada a capacidade de acessar alguns parâmetros de tempo de execução do código VCL, usando a sintaxe "param.".
  • Adicionada a possibilidade de redefinir a lógica para a formação de respostas "304 Not Modified".
  • As funções VMOD obsoletas std.real2integer(), std.real2time(), std.time2integer() e std.time2real() foram removidas. Em vez disso, utilize a sintaxe "std.integer(real=std.round(…), fallback=…)" ou "std.integer(time=…, fallback=…). A função format_rfc1123() foi renomeada para cookie.format_date().
  • No VUT e varnishtest, foi implementado o registro de rastreamentos de pilha no log após uma falha.
  • Foi adicionada à ferramenta varnishadm a variável "obj.last_hit", que pode ser usada para organizar a remoção de objetos do cache que não foram acessados há muito tempo.
  • Novos contadores de estatísticas VCP.ref_hit, VCP.ref_miss, transit_stored e transit_buffered foram adicionados à ferramenta varnishstat.

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster