ソフトウェアhttpロードバランサー?


19

現在、サイト/ Webサービスごとに1つのバックエンドサーバーしかありません。さまざまなロードバランサーアプリ(Linuxで実行されるもの)の人々の経験を聞きたいと思います。

あなたは何をお勧めします?

回答:


13

StackOverflowポッドキャストのエピソード27によると、Redditの連中は本当にHAProxyが好きなようです。これは、AmazonのEC2で使用されるHAProxyを示す簡単なチュートリアルです。詳細については、HAProxy Webサイトを参照してください。


3
私は多くの本番サーバーでHAProxyを使用していますが、それが大好きです。設定は簡単で、ステータスやステータスをリアルタイムで確認するためのシンプルなWebインターフェイスも備えています。HAProxzの最初のインスタンスのセットアップに役立ったスクリーンキャストは、[Signal vs Noise blog] [1] [1]にあります:37signals.com/svn/posts/1073-nuts-bolts-haproxy
Wes Oldenbeuving

管理の面を忘れていました。これはとてもいいですね。
マークルヌーフ

21

質問は、負荷、必要な機能などに関する特定の情報を提供しないため、回答はせいぜい推測にすぎません。

ポンドは、小規模/中規模のサイトに適しています。HTTPSサポートと簡単なセットアップを提供します。

HAproxyは、10Gイーサネットパイプを飽和させるように拡張でき、接続制限を提供します。つまり、処理するApache子/ Ruby on Railsインスタンスがあるため、各バックエンドサーバーに同時リクエストの数だけを送信します。

nginxは、オールラウンドロードバランサーおよび静的ファイルサーバーとして最適です。ロードバランシングを行いながら、HTTP圧縮、URL書き換え、静的ファイルサービスを実行できます。

Apacheは2.2シリーズでも非常に優れたロードバランサーです。nginxとほぼ同じことができますが、nginxよりもサーバーに高い負荷がかかります。すでにApacheに精通していて、非常に成熟している場合は、検討する価値があります。

Perlbalは、バックエンドホストへの簡単な接続制限、永続的なHTTP接続での要求の多重化、および既にPerlを使用している場合の簡単なセットアップを提供します。

ワニスキャッシュは、基本的な負荷分散をサポートするリバースHTTPプロキシです。優れたロードバランサーではありませんが、状況によっては、ほとんどの要求されたオブジェクトのメモリ内キャッシュにより、バックエンドサーバーのヒットの高い割合を削除でき、優れたパフォーマンスを発揮します。ESIインクルードは潜在的に興味深いです。

100%確信はありませんが、頭の中でPerlbalとnginxは、ロードバランサーを再起動せずに構成を変更するためのサポートを提供しています。大規模なサイトの場合、これは重要であり、優れた商用ロードバランサーアプライアンスがうまくいくことの1つです。

上記はすべてHTTPレベル(レイヤー7)のロードバランサーです。TCP / IPレベルのロードバランサーは、より高いスループットに達する可能性がありますが、他の方法では制限されます。HAProxyの作成者は、ロードバランシングの方法と問題の読みやすい概要をhttp://1wt.eu/articles/2006_lb/に書いてい ます。

LVSは、広く使用されているTCP / IPレベルのロードバランサーです。また、ほとんどのファイアウォールは、一定範囲のバックエンドIPアドレスで着信要求をハッシュすることにより、IPレベルで基本的な負荷分散を行うことができます-少なくともOpenBSDのPFとCisco ASAおよびJuniper Netscreensはこれを行うことができます。



3

haproxyはLVSと同様に機能します。

FWIW、wordpress.comはバランサー/プロキシとしてnginxを使用します。


2

本番環境ではLVSを使用します。複雑で邪悪なスクリプトのセットを使用して、運用チームが管理しています。かなり賢いオーダーメイドのシステムが、実サーバーからのヘルスおよびパフォーマンスデータをアナウンスし、ロードバランサーがそれに応じてウェイトを設定できるようにします。

もちろん、LVSは単一障害点-ロードバランサーを提供します(それらを冗長にセットアップする方法があります)。

これは設定するには複雑すぎると思ったので、Windows NLBの動作に大まかに基づいたFluffy Linux Clusterを作成しました(それがどのように動作するのかはわかりません)。

本番環境では使用しませんが、Fluffyは単一障害点や中央管理ノードなどを使用せずに、合理的な(少なくとも5つの)サーバーの負荷を分散できます。


うーん:LVS、邪悪なスクリプト、かなり賢いオーダーメイドのシステム。あなたのセットアップはまさに私たちのものです!
トムアンダーソン

2

私は過去にポンドを使用しました。それは高速でシンプルで、最小限の注意が必要です。



1

LVSを使用することにした場合、負荷分散サーバーレイヤーの可用性を高める場合は、Keepalivedも検討します。Heartbeat / PacemakerをLVSで数か月使用していましたが、単純なHA LBレイヤーには複雑すぎて不安定になることがありました。

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