Hot on the heels of a major Varnish Controller release, a series of updates to Varnish Enterprise are now available! See the release notes and changelog here.
These releases, which comprise 6.0.9r5, 6.0.9r6 and 6.0.9r7, contain the following significant updates:
Ykey is the Varnish Enterprise tool for tag-based invalidation of cached objects. Now, a new set of functions (stat_real and stat_int) in ykey allows Varnish administrators to extract statistics from the data set that’s currently stored in the cache. Use these tools to answer questions like:
This feature introduces a new way to use tags, and can be employed independently or together with tag-based cache invalidation. The statistics are available on a per-tag basis and you can use VCL to compose a response with the statistics you need. Since the stat functions describe the content of your cache, make sure that this is protected from unauthorized access, for example through ACLs, shared secrets and/or privileged ports. Find out more here.
This version of Varnish Enterprise makes significant upgrades to VMOD udo, allowing it to manage dynamic backends and set up self-routing clusters. Two prerequisites for these capabilities are the following new features:
Using libadns and vmod_activedns, vmod_udo can subscribe to dns_group updates and manage dynamic backends, supporting A, AAAA, CNAME and SRV records. Dynamic backends were already possible with vmod_goto, and sharding with udo; now dynamic backends can be managed within udo, for using sharding in a dynamic backend context. Other improvements over existing dynamic backend capabilities are:
vmod_udo also has three new functions, .get_identifier(), .self_identify(), and .self_is_next(). These are useful for implementing self-identification and self-routing, and work with both static and dynamic clusters. With the new support for DNS resolution, udo can be used to support self-routing clusters that can do the job of a load balancer or router, without needing a dedicated application: routing logic is distributed across all participating nodes. Self routing allows a cluster of Varnish instances to agree on which instance or instances that are designated as storage instances for given assets. This allows horizontal scaling of storage capacity and reduced number of origin requests when using a single tier of Varnish instances.
The main improvements over existing self-routing mechanisms are:
Another small release, 6.0.9r6, brings a significant change to vmod_http. This VMOD allows for HTTP communication to be made to other services from VCL, including communication back to Varnish in the form of a new request and both synchronous and asynchronous calls. Popular uses for vmod_http include prefetching of video segments, search results and links.
vmod_http has undergone a reimplementation to allow for:
For Varnish setups that make heavy use of HTTP calls, this redesign will bring excellent performance improvements. The new version is VCL compatible with the previous version, and no adjustments to VCL are needed.
See the changelog for the complete list of changes in this release.