Пускането на Varnish-Cache 8.0. Смяна на името на проекта поради търговска марка

Пол-Хенинг Камп (Poul-Henning Kamp), един от известните разработчици на FreeBSD, участва в създаването на системи като MD5crypt, GEOM, GBDE и FreeBSD Jail, представи версия Varnish-Cache 8.0, високо продуктивен кеширащ прокси, предназначен да работи като HTTP акселератор. Проектът се разпространява под лицензия BSD и в миналото е използван в проекти на Facebook, Wikimedia, Twitter, Vimeo, Tumblr, New York Times и Guardian.

Високата производителност се постига благодарение на многопоточността, мултиплексирането на връзките с помощта на извикванията epoll/kqueue и използването на системни извиквания sendfile и madvise. На обикновен хардуер може да обработва поток при 20 Gbps и да осигури ускорение на отговорите в диапазона 300-1000 пъти. Кешът се съхранява във виртуалната памет. Характерна особеност на Varnish е способността да събира отдавани страници на части от фронтенда, определяйки логиката на събирането с помощта на ESI (Edge Side Includes).

Varnish предоставя също гъвкава система за конфигурация, в която е позволено използването на вмъквания на езика C. За конфигурация се използва специален език VCL, който след това се компилира в изпълним бинарен код. VCL позволява описването на политиката за обработка на заявката: определяне на обработваното съдържание, откъде да го получи и как да го преобразува преди отдаване. Основната функционалност може да бъде разширена чрез модули. Налице са механизми за балансиране на натоварването, следене на състоянието и времето за реакция на бекенда.сървъри.

Седно с анонса на новата версия беше обявено и предстоящо изменение на името на проекта. Започвайки от следващата версия, "Varnish Cache" ще бъде преименуван на "Vinyl Cache" поради претенции, свързани с търговската марка Varnish, регистрирана от компанията Varnish Software, която участва в разработката и финансово подпомагала открития проект "Varnish Cache". Преди 22 години разработката на Varnish Cache беше финансирана от норвежкия вестник Verdens Gang, който нае Пол-Хенинг Камп да напише кода, а компанията Linpro за поддръжката. По-късно от Linpro беше създадена компанията Varnish Software. Получи се така, че името Varnish Cache беше асоциирано с открития проект, а Varnish Software с търговската компания.

Възможността за използване на името Varnish в наименованието на открития проект беше предоставена по устна спогодба, като Пол-Хенинг Камп не настоя за сключване на писмено споразумение. До скорошно време компанията и откритият проект мирно съществуваха, но след това в ситуацията се намесиха юристи по интелектуална собственост, които твърдят, че името Varnish Cache не може да се използва в никакъв контекст без изрично разрешение.

Тъй като необходимостта от получаване на разрешение от Varnish Software попречи на определени участници да се присъединят към разработката, беше направен опит за споразумение, но юристите продължават да твърдят, че името Varnish Cache принадлежи на компанията Varnish Software и те допускаха неговото използване от открития проект при определени ограничения и с възможност за налагане на вето. Varnish Cache не е готов да се съгласи с тези ограничения, тъй като планира да продължи да се развива като независим проект.

След преименуването за по-нататъшна координация на разработката, планират да създадат неправителствено партньорство, което ще действа в юрисдикцията на Дания. В устава е посочено, че организацията не може да притежава и управлява средства. В целите са заявени: разработка, поддръжка и разпространение на софтуер. Всеки желаещ може да се присъедини към организацията след одобрение от съществуващите участници. За управление ще бъде създаден комитет, избираем от участниците.

Основни нововъведения в Varnish-Cache 8.0:

  • В фоновия процес varnishd, който приема заявки от клиенти, предава заявки на бекенди и кешира отговори, е реализиран параметър „uncacheable_ttl“ за определяне на времето на живот (TTL) на обекти, маркирани като некешируеми.
  • Стойността на параметъра ban_any_variant по подразбиране е зададена на 0, при което списъкът с блокировки важи само за съвпадащи варианти на обекти.
  • Издаването на командата stop сега води до изчакване на завършването на всички текущи транзакции (VCL-обработвачи).
  • Добавена е поддръжка за достъп от код на VCL до някои runtime-параметри, използвайки синтаксиса „param.“.
  • Добавена е възможност за преопределение на логическите формулировки на отговорите „304 Not Modified“.
  • Отстранени са остарелите VMOD функции std.real2integer(), std.real2time(), std.time2integer() и std.time2real(), вместо които трябва да се използва синтаксисът «std.integer(real=std.round(…), fallback=…)» или «std.integer(time=…, fallback=…). Функцията format_rfc1123() е преименувана на cookie.format_date().
  • В VUT и varnishtest е осигурено записване на трасировки на стека в лог след аварийно завършване.
  • Към инструмента varnishadm е добавена променлива «obj.last_hit», която може да се използва за организиране на изтриване на обекти от кеша, до които отдавна не е имало достъп.
  • Към инструмента varnishstat са добавени нови статистически метрики VCP.ref_hit, VCP.ref_miss, transit_stored и transit_buffered.

Източник: opennet.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster