アプリケーションサーバーの負荷を分散し、それらからの応答をキャッシュしたいと思います。
私はHAProxyのウェブサイトで2012年にさかのぼる記事を読みました。
http://blog.haproxy.com/2012/07/04/haproxy-and-varnish-comparison/
この記事では基本的に、HAProxyはリバースプロキシロードバランサーのみ(キャッシュなし)であり、Varnishはリバースプロキシキャッシュ(ロードバランシングなし)であるため、補完的であると述べています。
しかし、今日、Varnishのドキュメントで、負荷分散も行うことがわかります。
https://www.varnish-cache.org/trac/wiki/LoadBalancing
したがって、この機能は2012年から導入されており、負荷分散の点でHAProxyと直接競合していると推測できます。
リバースプロキシキャッシュとロードバランサーが必要であることを考えると、Varnishのみで単一のサーバーを使用できるというのは本当ですか?それは両方を実行しますか?典型的なHAProxy <->ワニスのセットアップと比較して、何か制限があるかもしれませんか?
ワニスはサポートしていません [〜#〜] ssl [〜#〜]
SSLでサイト/サービスを実行することは、半分深刻なことには必要です。そのため、SSLターミネーションを行うhaproxyを使用する理由の1つです。
HAProxyとVarnishの両方can負荷分散ですが、そのうちの1つだけがそのために構築されています。
Apacheはプロキシとキャッシュもできるので、目的に使用することもできますが、最適なソリューションとは言えません。
私の意見では、あなたはそれが最も得意とするもののために各製品を使うのが最善です。
私がしていることは、両方を同じボックスにインストールし、HAProxyを唯一のバックエンドとして使用するようにVarnishを構成することです。
CDNはHAPROXYをポイントします。HAPROXYはVarnishとバックエンドの間で負荷分散し、ヘッダーまたはソースIPに基づいてVarnishからのリクエストでない限り、デフォルトでVarnishに送信します。
このようにして、次のことができます。
基本的な負荷分散を実装するほとんどのソフトウェアと同様に、Varnishは実際にはラウンドロビンおよびランダム分散アルゴリズムのみをサポートします。
一方、HAProxyは負荷分散用に構築されているため、 supports :
Varnishの負荷分散が十分かどうかは、ニーズによって異なりますが、HAProxyに取って代わるものではありません。