[51CTO.com 限定特集] HAProxyの公式ドキュメントには多くの設定内容が記載されていますが、実際のところ、私たちのオンライン環境では、これらの項目だけで十分です。これが、HAProxy がシンプルだと言われる理由です。対応する HAProxy の設定ファイルは次のとおりです。
次のようにログ記録サポートを追加します。
ここで注意すべき点がいくつかあります: 1. HAProyx は、LVS 永続性や Nginx ip_hash と同じバランス ソース メカニズムを使用して、クライアントが常にバックエンドの実際の Web サーバーにアクセスできるようにします。 2. 203.93.236.149 は、Keepalived によって私の Web サイト用に生成された VIP アドレスです。 3. option httpchk HEAD /index.jsp HTTP/1.0 は Web ページ用です。HAProxy が Web のルート ディレクトリに index.jsp が存在しないことを検出できない場合、503 エラーが生成されます。 HAProxy+keepalived/Heartbeat は、当初ウェブサイトに LVS+Keepalived 高可用性アーキテクチャを採用していたため、私のウェブサイトの 2 番目のソリューションです。その後、何人かの友人から、携帯電話でテストしたところ、転送が非常に遅く、開けないこともあると言われました。一部のコンピューターでも同様でした。次のことを試してみたところ、確かにそうでした。そこで、Nginx+Keepalived を使用したところ、転送速度が確かにはるかに速くなり、携帯電話でそのような問題は発生しませんでした。Nginx+Keepalived は東莞の顧客に正常に導入されたため、後でこのウェブサイトを HAProyx+Keepalived アーキテクチャに設計することも検討しました。 HAProxy アルゴリズムは 8 つあります。 1. ラウンドロビン。これは単純なラウンドロビンを意味します。基本的にすべての負荷分散サービスで利用できるため、これについてはあまり説明しません。 2. static-rr、重みに基づいて注意が推奨されることを示します。 3. leastconn は、接続数が最も少ないものが最初に処理されることを意味します。注意することをお勧めします。 4. ソース: リクエストのソース IP に基づいて注意が必要であることを示します。 5. uri、リクエストに応じたURIを示す。 6. url_param、リクエスト内のURLパラメータのバランスを示す 'url_param'にはURLパラメータ名が必要です 7. hdr(name)は、HTTPリクエストヘッダーに従って各HTTPリクエストをロックすることを意味します。 8. rdp-cookie(name) は、cookie(name) に基づいて各 TCP 要求をロックしてハッシュすることを意味します。 実際、これらのアルゴリズムにはそれぞれ独自の用途があります。より頻繁に使用されるのは roundrobin、source、lestconn なので、これらに重点を置くことができます。ここで HAProxy+Keepalived を使用したとき、HAProxy プロセス レベルでの高 HA を考慮していませんでした。まず、Taobao はこれをロード バランサーとしても使用しているため、その安定性は間違いなく疑う余地がありません。次に、テスト中に、確かに非常に安定していることがわかりました。HAProxy プロセスを強制終了するには、kill -9 を使用する必要があるため、それに時間を無駄にしませんでした。テスト中、デュアル アクティブ アーキテクチャに HAProxy+Keepalived を使用することを検討しましたが、後でメンテナンスがあまり簡単ではないことがわかったため、断念しました。 皆さんに思い出していただきたいのは、HAProxy は仮想ホストをサポートしているということです。友人の中には、サポートしていないと言う人もいます。これは実際には非常に簡単に確認できます。1+1 アーキテクチャを作成し、その背後に Nginx または Aapceh Web サーバーを配置して、このステートメントを確認できます。さらに、Nginx の正規表現と比較した後、HAProxy の正規表現処理能力は Nginx ほど強力でも柔軟でもないこともわかりました。ここで妥協案を採用することもできます。背後の Web サーバーとして Nginx を使用します。jsp アプリケーションの場合は、Nginx+tomat を使用できます。PHP を実行している場合は、Nginx+FastCGI (PHP5) を使用できます。 Yu Hongchun ( Fuqin Zhujiu ) は、『Building High-Performance Linux Servers』の著者であり、Yipai.com のシステム アーキテクト兼シニア プロジェクト管理エンジニアであり、ChinaUnix クラスターと高可用性バージョンのモデレーターです。 [51CTO.comの独占特集。無断転載は禁止です!]協力メディアに転載する際は、記事の出典と出典を明記してください。 】 |
<<: XML暗号化アルゴリズムが解読され、W3C標準が改訂される
[[412592]] 2021年、北京では初めて規制に従って無人配送車両の公道走行が許可された。写...
サーバー負荷分散を行う際には、ラウンドロビン、HASH、最小接続、応答時間、加重など、さまざまな負荷...
サイバー脅威の範囲は、企業資産や選挙から健康データや物理インフラまで拡大しており、新興技術の予期せぬ...
[[410884]]現在、人工知能の応用範囲と深さは絶えず拡大しており、情報インフラの重要な部分にな...
Pika、北京大学、スタンフォード大学が共同で最新のテキスト画像生成/編集フレームワークをオープンソ...
ロボットが環境内を移動するための最も効率的な方法の 1 つは、比較的滑らかな地形上で車輪を動かすこと...
人工知能はもはや未来的な概念ではなく、私たちの日常生活に欠かせないものとなっています。私たちが目覚め...
負荷分散の開発基盤は負荷分散アルゴリズムです。次に、サーバーごとに持つ機能や必要な機能が異なるため、...
[[251349]]古代、神農は何百種類もの生薬を試飲しましたが、これは実際には薬を人工的に選別する...
テクノロジーへの関心と導入が多様化するにつれ、多くの企業が将来の進路を決める岐路に立たされています。...
近年、飛行制御、ナビゲーション、センシングなどの技術の急速な発展に伴い、ドローン業界はますます大きく...