web-dev-qa-db-ja.com

Amazon ELBは負荷を分散するためにどのアルゴリズムを使用しますか?

これは公式のELBドキュメントで見つかりました

デフォルトでは、ロードバランサーは各リクエストを独立して最小の負荷を持つアプリケーションインスタンスにルーティングします。

しかし、Newvemに関する記事によると、ELBはラウンドロビンアルゴリズムのみをサポートしています。

Amazon ELBでサポートされているアルゴリズム-現在、Amazon ELBはラウンドロビン(RR)とセッションスティッキアルゴリズムのみをサポートしています。

それでそれはどれですか?

[1] http://docs.aws.Amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/US_StickySessions.html

[2] http://www.newvem.com/dissecting-Amazon-elastic-load-balancer-elb-18-facts-you-should-know/?lead_source=popup_ebook&oid=00DD0000000lsYR&email=muneeb%40olacabs。 com

14
kn330

HTTP(S)に基づくリクエスト数、その他のラウンドロビン。

http://docs.aws.Amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/TerminologyandKeyConcepts.html#request-routing

クライアントは、ロードバランサーにリクエストを送信する前に、ロードバランサーのドメイン名をドメインネームシステム(DNS)サーバーで解決します。 DNSサーバーはDNSラウンドロビンを使用して、特定のアベイラビリティーゾーンのどのロードバランサーノードがリクエストを受信するかを決定します。

選択されたロードバランサーノードは、同じアベイラビリティーゾーン内の正常なインスタンスにリクエストを送信します。ロードバランサノードは、正常なインスタンスを特定するために、ラウンドロビン(TCP接続の場合)または未解決の最小要求(HTTP/HTTPS接続の場合)ルーティングアルゴリズムを使用します。最小未処理の要求ルーティングアルゴリズム接続または未処理のリクエストが最も少ないバックエンドインスタンスを優先します。

15
crizCraig

使用するELBのタイプによって異なります。 AWSは、クラシックELBとともにアプリケーションELBとネットワークELBを導入してきました。

Application Load Balancersはリスナールールを適用し、(HTTP/HTTPS)リクエストをターゲットグループに割り当てます。 round robin routing algorithmを使用して、ターゲットグループからターゲットを選択します

接続を受信するNetwork Load Balancersノードは、flow hash routing algorithmを使用してターゲットグループからターゲットを選択します

Classic Load BalancersはTCPリスナーの場合はround robin routing algorithmを使用し、HTTPおよびHTTPSリスナーの場合はleast outstanding requests routing algorithmを使用します

TLDR;

最新のELBは、HTTP/HTTPSリクエストにround robin routing algorithmを使用し、TCPリクエストにflow hash routing algorithmを使用します。

クラシックELBは、TCP=リクエストにはround robin routing algorithmを使用し、HTTPおよびHTTPSリクエストにはleast outstanding requests routing algorithmを使用しました

ソース/参考文献: https://docs.aws.Amazon.com/elasticloadbalancing/latest/userguide/how-elastic-load-balancing-works.html#routing-algorithm

3
Shri