2 つの設定を想像できます。
負荷分散してからキャッシュ
+-- 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
最初のセットアップの問題は、複数のキャッシュがあり、多くのメモリが浪費され、キャッシュの無効化がより複雑になることです。
2 番目のセットアップの問題は、1 つ (haproxy) ではなく、パフォーマンス ヒットと 2 つの単一障害点 (varnish と haproxy) が発生する可能性があることです。
haproxy と varnish の両方が高速で安定していると思われるため、2 番目のセットアップを使用したくなります: どう思いますか?