20.09.2016
Пол-Хенинг Камп (Poul-Henning Kamp), один из известных разработчиков FreeBSD, участвовавший в создании таких систем, как MD5crypt, GEOM, GBDE и FreeBSD Jail, сообщил о релизе Varnish 5.0, высокопроизводительного кэширующего прокси, предназначенного для работы в роли HTTP-акселератора. Новая версия опубликована спустя 10 лет с момента первого релиза и примечательна отсутствием серьёзных уязвимостей за последние 10 лет. Проект распространяется под лицензией BSD и используется в проектах Facebook, Wikimedia, Twitter, Vimeo, Tumblr, New York Times и Guardian.
Благодаря применению многопоточности и современных методов мультиплексирования соединений, таких как epoll и kqueue, а также системных вызовов sendfile и madvise, Varnish демонстрирует отличную производительность, например, на обычном оборудовании способен обработать поток в 20 Gbps и обеспечить ускорение отдачи запросов в 300-1000 раз. Кэш хранится в виртуальной памяти. Особенностью Varnish является способность собирать отдаваемые страницы по частям на стороне фронтэнда, определяя логику сборки на языке ESI (Edge Side Includes).
Varnish также предоставляет очень гибкую систему конфигурации, в которой допускается использование вставок на языке Си. Для конфигурации используется специальный язык VCL, который затем компилируется в исполняемый бинарный код. VCL позволяет описать политику обработки запроса: определить обрабатываемый контент, откуда его получить и как преобразовать перед отдачей. Базовая функциональность может расширяться через модули. Присутствуют механизмы балансировки нагрузки, учета состояния и времени реакции бэкенд-серверов.
Основные новшества: