Windows system >> Windowsの知識 >  >> Linuxシステムチュートリアル >> Linuxチュートリアル >> Haproxyインストール構成調整基本チュートリアル

Haproxyインストール構成調整基本チュートリアル

  
 

HAProxyは、TCP、HTTPアプリケーションに高可用性、負荷分散、およびプロキシを提供し、仮想ホストをサポートします。無料で高速で信頼性の高いソリューションです。公式データによると、その上限は10Gの同時実行性をサポートしています。 HAProxyは、通常セッションの持続性や7層の処理を必要とする高負荷のWebサイトに特に役立ちます。 HAProxyは現在のハードウェア上で動作し、何万もの同時接続をサポートできます。また、その動作モードにより、Webサーバーがネットワークにさらされることを防ぎながら、現在のアーキテクチャに簡単に統合できます。

レイヤ4からレイヤ7へのネットワークスイッチング、つまりすべてのTCPプロトコルを網羅するネットワークをサポートします。つまり、HaproxyはMysqlのバランスの取れたロードさえもサポートします。 。 WEBバランスロードがプロキシリバースプロキシモードで実現可能であると言われるならば、そのような製品はたくさんある。 Nginx、ApacheProxy、lighttpd、Cherokeなどを含みます。しかし、明確にするために、HaproxyはHttpサーバーではありません。リバースプロキシイコライゼーション負荷のある上記のすべての製品は、すべてWebサーバーです。簡単に言えば、静的(html、jpg、gif ..)または動的(php、cgi ..)ファイル転送と処理を提供できます。 Haproxyは、負荷のバランスをとるためのアプリケーションプロキシです。それ自体ではhttpサービスを提供しません。

しかし、設定は簡単で、非常に優れたサーバーヘルスチェック機能と特別なシステム状態監視ページがあり、プロキシのバックエンドサーバーに障害が発生すると、HAProxyは自動的にサーバーを削除します。サーバーは自動的に追加されます。バージョン1.3以降、フロントエンド、バックエンド、フロントエンドは、HTTPリクエストヘッダの内容に基づいてルールを一致させるために導入され、そしてリクエストは関連するバックエンドに向けられます。

さらに、バージョン1.3は、次の新機能をサポートする開発中のバージョンです。

l Content Exchange:リクエストの任意の部分に基づいて、サーバーのグループを選択できます。要求されたURI、Hostヘッダー、Cookie、その他何でももちろん、静的に分離されたサイトにはこの機能に対するより多くの要件があります。

l完全に透過的なプロキシ:バックエンドサーバーへの接続には、クライアントのIPアドレスやその他のアドレスを使用することができますこの機能は、cctproxyパッチをLinux 2.4 /2.6カーネルに適用した後にのみ使用できます。特定のサーバーがサーバーのアドレスを変更せずにトラフィックの一部を処理することは可能です。

lツリーベースの高速スケジューラ:1.2.16を超えるバージョンでは、何万ものフルスピード接続をサポートするためにすべてのタイムアウトを同じ値に設定する必要があります。この機能は1.2.17に移植されました。

lカーネルTCPスプライシング:カーネルからユーザーへ、そしてユーザーからカーネルへのデータコピーを回避し、CPU使用量を削減しながらスループットを向上Haproxy 1.3は、Linux L7SWをサポートし、商用ハードウェアでGbpsを実現します。スループットの必要性

l接続拒否:接続の開始を維持するためのオーバーヘッドは非常に小さいため、攻撃ワームを制限する必要がある場合があります。これは、接続を切断して害を制限することを意味します。これは、小規模なDDoS攻撃に陥っているサイト用に開発されたもので、多くのサイトを救いました。

l微妙な見出し:ヘッダーベースのルールの記述を簡単にし、URIの特定の部分を処理します。

l高速で信頼性の高いヘッダ処理:RFC2616に準拠した完全な整合性チェックを使用して、すべての一般的な要求を分析して索引付けするのに2ms以内です。

lモジュール設計:より多くの人がこのプロジェクトに参加できるようにすると、デバッグも非常に簡単になり、ポーラーが分離され、開発がはるかに簡単になりました。 7層の機能は非常にシンプルになります他のサブシステムも非常に素早くモジュール化されます。

l投機的I /O処理:ソケットの準備ができる前にソケットからデータを読み込もうとします。ポーラーは、どれが準備ができていないのかを推測するだけで、推測しようと試みます。そして成功すれば、いくつかの高価なシステムコールを保存することができます。これらのシステムコールは失敗すると呼び出されます。 Linux epoll()の既知の用途は、少なくとも10%の純増です。

l ACL:アクションの実行条件として任意の規則の任意の組み合わせを使用してください。

l TCPプロトコルチェック:ACLを組み合わせてリクエストの任意の部分をチェックしてから転送します。これにより、ブラインド転送の代わりにプロトコル検証を実行できます。たとえば、SSLを許可し、SSHを拒否します。

lその他の負荷分散アルゴリズム:動的ラウンドロビン、加重ソースハッシュ、加重URLハッシュ、加重パラメータハッシュ)が実装されています。 Weighted Measured Response Timeなどの他のアルゴリズムもまもなく実装される予定です。

Haproxyは、Nginxを超える、バランスのとれた負荷だけで最も強力なパフォーマンスを発揮します。 Nginxに付属しているバランスの取れたロード機能の代わりにHaproxyを使うとあなたに割引を与えるでしょう。 Haproxyの負荷分散機能は、Nginxにはない、セッションペースト、クッキーブートなど、Nginxよりもはるかに成熟しています。

Copyright © Windowsの知識 All Rights Reserved