ホームページ  >  記事  >  コンピューターのチュートリアル  >  WebSocket 接続用に HAProxy を構成する方法

WebSocket 接続用に HAProxy を構成する方法

王林
王林転載
2024-03-20 15:51:22526ブラウズ

WebSocket アプリケーションは、クライアントとサーバー間のリアルタイムの双方向通信を可能にします。 WebSocket 接続が使用されている場合でも、サーバーの過負荷によるサービスの中断や利用不能を避けるために、効果的なトラフィック管理メカニズムが依然として必要です。

HAProxy は、リバース プロキシとしても使用できる、無料で信頼性の高いロード バランサーです。 WebSocket 接続をサポートするように HAProxy を構成すると、WebSocket のリアルタイム データ送信特性をより適切に活用し、サーバーの負荷を軽減できます。この記事では、WebSocket 接続をサポートするように HAProxy を構成する詳細な手順について説明します。

WebSocket 接続用に HAProxy を構成する方法に関するステップバイステップ ガイド

WebSocket 接続を介したサーバーとクライアント間の通信は、一方が接続をアクティブに閉じるまで持続します。サーバーの負荷が高すぎる場合にトラフィックを他のサーバーに均等に分散できるようにするために、ロード バランサーのアプローチを使用できます。このようにして、クライアントとサーバーは継続的な接続を維持し、低遅延の通信環境を享受できます。

1. HAProxyのインストール

HAProxy の WebSocket 接続を構成する最初のステップは、HAProxy がインストールされていることを確認することです。まだインストールされていない場合は、次の手順に従ってインストールしてください:

$sudo apt—haproxy のインストールを取得

WebSocket 接続用に HAProxy を構成する方法

2. HAProxy 構成の編集

WebSocket 接続が HAProxy を通過するには、WebSocket 接続をサポートするように HAProxy 構成を調整する必要があります。これには、「サーバー」セクションへの変更、「フロントエンド」セクションと「バックエンド」セクションの設定が含まれます。

次に示すように、テキスト エディタを使用して HAProxy 構成を開きます。

$sudo nano/etc/haproxy/haproxy.cfg

「削除」セクションで、以下の図に示すように変更します。まず、HTTP 接続を使用していることを指定し、ログ ファイルの送信先を定義します。次に、さまざまなアクティビティのタイムアウトを設定します。たとえば、接続タイムアウトは、サーバーへの接続にかかる最大時間です。最大時間に達すると、接続は失敗したとみなされ、再試行できます。

このケースでは、接続タイムアウトを 5000 ミリ秒に設定します。状況に応じてタイムアウトを調整できます。 WebSocket セッションの継続時間と予想される存続期間を念頭に置き、アプリケーションに基づいてそれらを調整します。

WebSocket 接続用に HAProxy を構成する方法

次に、「フロントエンド」部分を作成する必要があります。ここで、WebSocket 接続に使用されるポートと参照されるバックエンド サーバーをバインドします。この場合、ポート 80 を指定し、HAProxy を監視するための「統計」ページにアクセスするための URL を指定します。最後に、負荷分散で参照されるバックエンド部分を定義します。

WebSocket 接続用に HAProxy を構成する方法

「バックエンド」部分では、ラウンドロビン スケジューリングを使用して負荷を分散します。 「option forward for」は、HAProxy が接続要求を送信するときに、クライアントの IP アドレスを含む「X-Forward-For」ヘッダーを含めることを指定します。このようにして、バックエンド サーバーは正しいクライアント IP を取得します。

「オプション http_server_close」は、サーバー リソースを占有するアイドル接続を排除することでリソースを制限します。 WebSocket 接続は存続期間が長くなりますが、リソースの不必要な浪費を避けるために、アイドル状態の存続期間が長い接続があるかどうかを確認し、それらの接続を閉じる必要があります。

最後に、トラフィックの分散に使用されるバックエンド サーバーを追加します。サーバーに正しい IP アドレスを指定していることを確認し、以下の画像の IP アドレスを置き換えてください:

WebSocket 接続用に HAProxy を構成する方法

これで、HAProxy が WebSocket 接続用に構成されました。変更を保存してファイルを閉じます。

3. 妥当性テスト

HAProxy を再起動する前に、簡単なコマンドを実行して、ファイルが有効でエラーがないことを確認できます。これを行うには、次のコマンドを実行します:

$sudo haproxy-c-f/etc/haproxy/haproxy.cfg

WebSocket 接続用に HAProxy を構成する方法

4. WebSocket 接続を再起動してテストします

ファイルが有効になったら、HAProxy サービスを再起動します。

WebSocket 接続用に HAProxy を構成する方法

###それでおしまい。 WebSocket 接続用に HAProxy を構成しました。接続をテストして、すべての WebSocket トラフィックが正しく転送されることを確認できます。

#########結論は#########

WebSocket 接続用に HAProxy を構成することは、特に Web 管理者の間で人気のあるソリューションです。この記事では、このプロセスについて詳しく説明し、お客様が同じプロセスを安心して実行し、実装できるようにするための手順と例を示します。各ステップを実行して、概念とその実装プロセスを確実に理解してください。

以上がWebSocket 接続用に HAProxy を構成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はmryunwei.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。