ロード バランサはすべてのノードを認識している必要があります。クライアントはロードバランサーとインターフェースし、ロードバランサーは各タスクをノードに与えます。
クライアントが常に同じ (単一の) ロード バランサーにアクセスする場合、単一障害点が発生しないのはなぜですか? ロード バランサーを 2 つ持つことはできません。
設計の一部では、単一点障害を回避できないことは認められていますか?
ロード バランサはすべてのノードを認識している必要があります。クライアントはロードバランサーとインターフェースし、ロードバランサーは各タスクをノードに与えます。
クライアントが常に同じ (単一の) ロード バランサーにアクセスする場合、単一障害点が発生しないのはなぜですか? ロード バランサーを 2 つ持つことはできません。
設計の一部では、単一点障害を回避できないことは認められていますか?
高可用性ソリューションの一部として複数のロードバランサーを使用することは非常に一般的であり、ロードバランサーが単一障害点である必要はありません。ロードバランサーは、たとえば、ロードバランサーの間に浮かぶ単一の仮想IPアドレスの背後に配置できます。一方がダウンすると、IPはもう一方にフロートして引き継ぎます。クライアントは、常に接続している単一の仮想IPのみを認識します。
クライアントがErlangノードであり、通信がErlangメッセージングを介して行われる場合(回答の最初の部分を提供するときにこれを見逃した)、プロセスグループ(pg2)に属するように負荷分散プロセスを設定し、これを介してルーティングできます。これにより、複数のロードバランサーが負荷を共有できるようになります。すべてのリクエストがルーティングのために単一のプロセスを通過する必要がある場合は、1つのプロセスをグローバルとして登録し、バックアップとして他のノードに同じプロセスをデプロイすることができます。これらのバックアップは、グローバルサービスを監視し、グローバルプロセスが失われた場合に引き継ぐ必要があります。