0

サービス (サブスクライバー) にメッセージを発行するフロントエンドがある開発環境で nServiceBus を使用しています。人生は素晴らしい。

FrontendWebServer -> MiddlewareServer

運用環境では、フェールオーバー用に 2 つのフロントエンド サーバーと 2 つのミドルウェア サーバーを実行します。

FrontendWebServer -> LoadBalancer(F5) -> MiddlewareServer

FrontendWebServer -> LoadBalancer(F5) -> MiddlewareServer

これは URL に対してはうまく機能しますが、MSMQ にはマシン名を使用する必要があるため、行き詰まります。

各フロントエンド構成で物理的なミドルウェア マシン名を指定したくありません (構成の管理が難しくなり、1 つのミドルウェア サーバーがダウンすると、その特定のフロントエンドへのメッセージも停止するため)。

nServiceBus ディストリビューター (各フロントエンドにインストール) を使用しようとしましたが、サブスクライバーは 1 つのディストリビューターしかリッスンできないようです。

別の構成を使用せずにこの問題を回避する方法はありますか?

4

1 に答える 1

0

F5をWebサーバーの前に押し上げて、その負荷のバランスを取ります。クラスタの場合は、個々のマシンではなく、クラスタ化されたサーバーの名前とサービスを参照するだけです。たとえば、Node1とNode2がある場合は、クラスターNSBNodeなどを呼び出すことができます。

そのクラスターをディストリビューターにすると、その背後に複数のワーカーノードを追加して、さらに負荷分散を行うことができます。この場合も、クラスターキュー名(queue @ ClusterName)を参照します。

于 2011-11-17T13:48:06.227 に答える