我可以想象两种设置:
负载均衡然后缓存
+-- Cache server #1 (varnish) -- App server #1
/
Load Balancer (haproxy)-+---- Cache server #2 (varnish) -- App server #2
\
+-- Cache server #3 (varnish) -- App server #3
缓存然后负载平衡
+-- App server #1
/
Cache Server (varnish) --- Load Balancer (haproxy) --+---- App server #2
\
+-- App server #3
第一种设置的问题是有多个缓存,这会浪费大量内存并使缓存失效更加复杂。
第二种设置的问题是可能存在性能损失和两个单点故障(清漆和 haproxy),而不仅仅是一个(haproxy)?
我很想使用第二种设置,因为 haproxy 和 varnish 都应该是快速和稳定的:你的意见是什么?