12

最も純粋な観点からは、それらは同じ概念のように感じます. どちらもリソース/ノードのセットを管理し、外部コンポーネントからの、または外部コンポーネントによるアクセスを制御します。

プールを使用すると、これらのリソース/ノードをプールとの間で借りたり戻したりします。

クラスターでは、リソース/ノードの前にロード バランサーがあり、ロード バランサーにリクエストを送信します。

どちらの場合も、リクエスト/借用がどのリソース/ノードにマップされるかをまったく制御できません。

「プール」パターンと負荷分散クラスターの基本的な違いは何ですか?

4

1 に答える 1

21

プールは、作成にコストがかかるリソースを絶えず作成および破棄することを避けるために使用されます。プールのリソースは、一度に 1 つのクライアントのみが使用できます。使用可能なリソースはプールに格納されます。必要な場合は、プールから取得して、他のクライアントが使用できないようにします。リソースを使い終わったら、プールに戻します。通常、プールはデータベース接続とスレッドに使用されます。もう 1 つの利点は、リソース (接続、スレッド) の数を妥当な最大値に維持できることです。

クラスターはノード (コンピューター、仮想マシン) の集合であり、多数の同時クライアントにサービスを提供し (スケーラビリティー)、単一障害点 (フェイルオーバー、冗長性) を回避できます。また、ロード バランサは必ずしもランダムではないことに注意してください。多くの場合、ロード バランサはスティッキー セッションを使用します。クライアントがクラスタのノードに割り当てられると、その後のすべてのリクエストは同じノードに送られます。

したがって、プールとクラスターの目標は同じではありません。また、プールに格納されているリソースは、クラスターのリソースと同じ種類ではありません。

于 2012-07-06T20:55:22.833 に答える