ネットワークトラフィックの増加に伴い、サーバは高負荷に直面していますが、現時点ではHTTPロードバランシングシステムを装備する必要があります。 ? Xiaobianと一緒に学ぼう。
今日のインターネットベースのアプリケーションやサービスに対する需要の高まりは、IT管理者にますます大きなプレッシャーをかけています。急激なトラフィックの急増、自己生成トラフィックの増加、または内部的な問題(ハードウェア障害や緊急メンテナンスなど)が発生した場合でも、インターネットアプリケーションはいつでもすぐに利用できるようにしておく必要があります。現代の開発作業や継続的な配信方法でも、インターネットサービスの信頼性と安定したパフォーマンスを脅かす可能性があります。
予測不可能な、または安定したパフォーマンスの欠如は、あなたには余裕がありません。では、どのようにしてこれらの欠点を取り除くことができるでしょうか。ほとんどの場合、適切な負荷分散ソリューションがこの要件を満たすことが期待されます。今日は、HAProxyを使ってHTTPロードバランシングシステムを構築する方法を紹介します。
HTTPロードバランシングの概要
HTTPロードバランシングは、同じアプリケーションコンテンツをホストする複数のサーバー間で着信HTTPトラフィックまたはHTTPSトラフィックを分散させるネットワークソリューションです。複数の利用可能なサーバーにまたがってアプリケーション要求を分散させることで、負荷分散システムはアプリケーションサーバーが単一障害点になるのを防ぎ、それによって全体的なアプリケーションの可用性と応答性を向上させます。また、追加のアプリケーションサーバーを追加または削除するだけで、ワークロードの変化に応じてデプロイされたアプリケーションのサイズを簡単に縮小/拡大することもできます。
負荷分散はいつどこで行われますか。
負荷分散システムではサーバーの使用率が向上し、可用性が最大化されるため、サーバーが大きな負荷に直面し始めている場合、またはより大きなプロジェクトを計画している場合はそれを使用する必要があります。負荷分散システムの使用を事前に計画することは良い習慣です。そのようにして、将来あなたの環境を拡張する必要があるとき、それはその目的を証明するでしょう。
HAProxyとは何ですか?
HAProxyは、GNU /Linuxプラットフォーム上のTCP /HTTPサーバー用の一般的なオープンソースロードバランシングおよびプロキシシステムです。 HAProxyは、10GのNIC回線速度を簡単に処理できるシングルスレッドのイベント駆動型アーキテクチャで設計されており、現在では多くの運用環境で広く使用されています。機能には、自動ヘルスチェック、カスタマイズ可能な負荷分散アルゴリズム、HTTPS /SSLのサポート、およびセッションレート制限が含まれます。
このチュートリアルではどのような目的を達成しましたか?
このチュートリアルでは、HTTP Webサーバー用にHAProxyベースの負荷分散システムを構成するプロセスについて説明します。
前提条件
負荷分散システムの機能を確認するには、少なくとも1つ(できれば2つ)のWebサーバーが必要です。バックエンドHTTP Webサーバーがセットアップされ、稼働していると仮定します。
LinuxにHAProxyをインストールする
ほとんどのディストリビューションでは、ディストリビューションのパッケージマネージャを使ってHAProxyをインストールできます。
DebianへのHAProxyのインストール
Debianでは、Wheezyに後方移行機能を追加する必要があります。これを行うには、/etc/apt/sources.list.dに' backports.list'という名前の新しいファイルを次の内容で作成します。
deb http://cdn.debian.net /debian wheezy main
ソフトウェアライブラリのデータを更新してHAProxyをインストールします。
#apt更新を取得#aptインストールhaproxyを取得
UbuntuにHAProxyをインストール
#aptインストールhaproxyを取得
CentOSとRHELにインストールされたHAProxy
#yum install haproxy
HAProxyの設定
このチュートリアルでは、2つのHTTP Webサーバーが設定され、実行されていると仮定します。そのIPアドレスは、それぞれ192.168.100.2と192.168.100.3です。また、ロードバランシングシステムがIPアドレス192.168.100.4のサーバーに設定されると仮定します。
HAProxyが機能するためには、/etc /haproxy /haproxy.cfg内のいくつかの項目を変更する必要があります。これらの変更はこのセクションで説明されています。 GNU /Linuxディストリビューションごとに設定が異なる場合は、対応する段落で説明します。
1.ログ機能の設定
最初に必要な作業の1つは、HAProxyに適切なログ機能を設定することです。これは、将来のデバッグに役立ちます。ログ設定は/etc/haproxy/haproxy.cfgのグローバルセクションにあります。以下は、HAProxyのログ記録を設定するための特定のリリースの手順です。
CentOSまたはRHEL:
CentOS /RHELでのログ記録を有効にするには、次のように変更します。
log 127.0.0.1 local2
を<に変更します。 Br>
log 127.0.0.1 local0
次に、/var /logにHAProxyのログファイルを別に作成します。これを行うには、現在のrsyslog設定を変更する必要があります。設定を簡単かつ明確にするために、次の内容で/etc/rsyslog.d/にhaproxy.confという新しいファイルを作成します。
$ ModLoad imudp $ UDPServerRun 514 $ template Haproxy、'%msg%\\ n' local0。= info /var/log/haproxy.log; Haproxy local0.notice /var /log /Haproxy status.log; Haproxy local0。*〜
この設定は、$ templateに基づいてすべてのHAProxyメッセージを/var /log内のログファイルに隔離します。 rsyslogを再起動して、変更を有効にします。
#service rsyslog restart
DebianまたはUbuntu:
DebianまたはUbuntuでHAProxyのログ記録を有効にするには、次のように入力します。
log /dev /log local0 log /dev /log local1 notice
次に移動します。
log 127.0.0.1 local0
次に、HAProxy用に別のログファイルを設定し、/etcを編集します。 /rsyslog.d/内のhaproxy.confという名前のファイル(またはDebianでは49-haproxy.conf)には、次の内容が含まれています。
$ ModLoad imudp $ UDPServerRun 514 $ template Haproxy、'%msg%\\ n' local0。= info /var/log/haproxy.log; Haproxy local0.notice /var /log /Haproxy status.log; Haproxy local0。*〜
この設定は、$ templateに基づいてすべてのHAProxyメッセージを/var /log内のログファイルに隔離します。 rsyslogを再起動して、変更を有効にします。
#service rsyslog restart
2.デフォルト値の設定
次に、HAProxyのデフォルト変数を設定します。 /etc/haproxy/haproxy.cfgでdefaultsセクションを見つけて、それを以下の構成に置き換えます。
グローバルモードhttpオプションhttplogオプションhttplogオプションdontlognull再試行3オプション再表示maxconn 5000 clitimeout 50000 srvtimeout 50000
上記の設定はHTTPロードバランサーの使用を推奨しますが、あなたの環境には最善の解決策ではないかもしれません。プログラムもしそうなら、適切な変更と調整のためにHAProxy Reference Manualページを参照してください。
3. Webサーバクラスタの設定
Webサーバ(Webfarm)の設定は、利用可能なHTTPサーバのクラスタを定義します。私たちが構築する負荷分散システムの設定のほとんどはここに配置されます。それでは、基本的な設定をいくつか作成し、ノードをここで定義します。フロントエンドセクションからファイルの末尾までのすべての設定を次のコードで置き換えます。
listen webfarm *:80モードhttp stats enable stats uri /haproxy?統計統計レルムHaproxy \\統計統計auth haproxy:統計バランスroundrobin cookie LBN挿入間接nocacheオプションhttpcloseオプションforwardfor server web01 192.168.100.2:80 cookie node1 check server web02 192.168.100.3:80 cookie node2 check
' Listen webfarm *:80'この行は、ロードバランシングシステムが待機するインターフェースを定義します。このチュートリアルでは、この値を' *'に設定しています。これにより、負荷分散システムはすべてのインターフェイスをリッスンできます。実際のシナリオでは、これは望ましくない可能性があり、インターネットからアクセス可能なインターフェースに置き換える必要があります。
統計情報は統計情報を有効にしますuri /haproxy?統計統計領域Haproxy \\統計統計auth haproxy:統計
上記の設定ステートメントは、http://load-balancer-IP /haproxy?にあります。ロードバランシングシステムの統計はstatsでアクセスされます。このアクセスは、単純なHTTP認証、およびログイン名「haproxy」とパスワード「stats」によって保証されています。これらの設定はあなた自身のログイン情報で置き換えられるべきです。これらの統計を見たくない場合は、それらを完全に無効にすることができます。
前12次合計2ページzh-CN"],null,[1],zh-TW"]]]
を分析する方法 LinuxシステムでNginxログを分析すると、システムの稼働記録とエラーの説明を見ることができますNginxログを分析すると、システムの稼働状況を知ることができます。では、Linux
SSHサーバを使用しているときに転送中にSSHサーバで1エラーが発生することをLinuxユーザの中には、この問題を解決する方法を教えてください。 以下のような簡単
Ubuntuシステムでは、ショートカットを使用するとウィンドウをすばやく開いたり操作を実行したりできます。これは便利で時間の節約になります。しかし、altショートカットキーのように、誤って誤って押され
UbuntuシステムでUSBフラッシュドライブをマウントできませんエラー:mount:不明なファイルシステムタイプ&lt; exfat&rdquo; Ubuntuはデ