vanish(squid) + HAProxy + nginx + memcached(redis)
1. Load-balance then cache
1 | +-- Cache server #1 (varnish) -- App server #1 |
2. Cache then load-balance
1 | +-- App server |
I. stunnel -> vanish -> HAProxy -> nginx -> nodeJS -> memcached(redis) (for sesson storage)
II. nginx (for HTTP compression) –> Varnish cache (for caching) –> HTTP level load balancer (HAProxy, or nginx, or the Varnish built-in) –> webservers.
III. Apache Traffic Server/Squid/Vanish + HAProxy + Nginx + memcached(Redis) (for sesson storage)
Reference:
http://serverfault.com/questions/204025/ordering-1-nginx-2-varnish-3-haproxy-4-webserver
http://yaozb.blog.51cto.com/2762349/793875
http://stackoverflow.com/questions/15448196/haproxy-in-front-of-varnish-or-the-other-way-round
http://blog.exceliance.fr/2012/08/25/haproxy-varnish-and-the-single-hostname-website/
http://serverfault.com/questions/51691/need-haproxy-varnish-nginx-setup-suggestions
https://www.exratione.com/2012/08/websockets-over-ssl-stunnel-varnish-nginx-nodejs/