リバースプロキシモードでのHAProxyとNgnixの違いは何ですか?


回答:


5

2019更新:

安定した製品であり、成熟した製品でもあります。HAProxyはロードバランシング専用であり、その点で優れていますが、nginxはロードバランサーとして機能できるWebサーバーです。

両方:

  • HTTPSサポート
  • Websocketサポート
  • 安定した成熟した非常に効率的な製品
  • 最小限のチューニングまたはチューニングなしで10,000の接続を処理できます

HAProxy:

  • TCP、TCP-SSL、HTTP、およびHTTPSロードバランシング
  • ヘルスチェックとフェイルオーバー条件の柔軟性が向上
  • 基本的なキャッシュ(v1.8-2017)
  • アクセスログをkibana / splunk / graylogにインポートするためのカスタマイズ可能なログ形式
  • 詳細なステータスページ。アクティブなリクエストとサーバーのステータスを表示します
  • 監視ソリューション(グラファイト/プロメテウス/データドッグ)と統合するためのエクスポート可能なメトリック
  • より高性能志向。100k接続または40 GbEインターフェイスを処理するように指示された方が適切です。

Nginx:

  • HTTPおよびHTTPSロードバランシング(TCP-有料版のUDP)
  • キャッシュの柔軟性が向上
  • アクセスログをkibana / splunk / graylogにインポートするためのカスタマイズ可能なログ形式
  • ステータスページなし(有料版のみ)
  • エクスポート可能なメトリックなし(有料版のみ)
  • ローカルファイルを提供できます
  • FastCGIアプリケーションを提供できる(CGIではない)

HAProxyは、完全にオープンソースのフリーソフトウェアです。HAProxyがプリインストールされたハードウェアアプライアンスを販売することで収益を上げています。

Nginxはオープンコアであり、多くの機能は有料版でのみ利用できます。特に、ステータスページとモニタリングメトリクスが不足しているため、ロードバランサーを操作するには大きなNO NOです。


42

HAProxyは、実際には単なるロードバランサー/リバースプロキシです。Nginxは、リバースプロキシとしても機能できるWebサーバーです。

いくつかの違いがあります:

HAProxy:

  • TCPおよびHTTPプロキシ(1.5-dev12から追加されたSSL)
  • その他のレート制限オプション
  • 作者はここでサーバー障害に関する質問に答えます;-)

Nginx

  • SSLを直接サポート
  • キャッシングサーバーでもあります

Stack Overflowでは、主にHAProxyとnginxをSSLオフロードに使用するため、HAProxyが推奨されます。


11

HAProxyのフロントエンドにnginxを使用しますが、SSLの終了のみに使用します。

HAProxyは、はるかに調整可能で管理しやすいロードバランサーです(私の経験では)。

また、静的オブジェクトのキャッシュ用にVarnishを組み込みます。(HAProxyの特定のバックエンドとして)

詳細については、このサーバー障害の質問を参照してください。 nginx / varnish / haproxyの注文


3
最新(2012年9月)のHAProxyの不安定なビルドは、SSLをサポートするようになりました。(潜在的にnginxのを実行するための私の必要性を取り除く)
ジョエル・K

5

負荷分散にのみ必要な場合は、HAプロキシの方が適しています。ただし、nginixは静的コンテンツの提供が高速であるため、nginixとHAプロキシの両方を組み合わせるとより便利になります。静的データのすべてのリクエストを処理し、ロードバランサーとして機能するHAプロキシにすべてのリクエストを送信し、Webサーバーにリクエストを送信します負荷の分散による要求。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.