1. Load-balance then cache
+-- Cache server #1 (varnish) -- App server #1
/
Load Balancer (haproxy)-+---- Cache server #2 (varnish) -- App server #2
\
+-- Cache server #3 (varnish) -- App server #3
2. Cache then load-balance
+-- App server #1
/
Cache Server (varnish) --- Load Balancer (haproxy) --+---- App server #2
\
+-- App server #3
I. stunnel -> vanish -> HAProxy -> nginx -> nodeJS -> memcached(redis)
II. nginx (for HTTP compression) --> Varnish cache (for caching) --> HTTP level load balancer (HAProxy, or nginx, or the Varnish built-in) --> webservers.
Apache Traffic Server/Squid/Vanish + HAProxy + Nginx + memcached(Redis)
Reference: