Varnish is a web-application accelerator also known as a caching HTTP reverse proxy for dynamic web-sites with high traffic. Unlike other proxy servers, it was initially designed to be focused exclusively on HTTP. Nevertheless, within the Jelastic implementation, it is delivered in a bundle with the NGINX server (run on the 443rd port as a HTTPS proxy), that gives the ability to work with the secured data and the Custom SSL option in particular. In this case, after the incoming traffic decryption, NGINX redirects it directly to Varnish (run on the 80th port) to be further processed.
As an accelerator, Varnish only has basic load balancing support, which, however, still includes round robin and random redirector options, backend health-checking and more. But the emphasis is made on the speed, which is mainly achieved through the caching, that makes the web-site faster by offloading the static objects’ delivery.
Besides that, Varnish is a modular software with a variety of modules available, including tools for statistics (like varnishstat, varnishhist), a powerful live traffic analyzer (varnishlog) and many others. Furthermore, this server is heavily threaded, with each client connection being handled by a separate worker thread. When the number of active worker threads reaches the configured limit, the incoming connections are put in an overflow queue. In case this queue grows to its stated limit, further incoming connections will be rejected.
So, if you want to get Varnish as a load balancer for your Jelastic environment, just complete a few simple steps described below.