2017-08-30 7 views
1

イベントを処理し、SignalRなどのさまざまなテクノロジを使用してクライアントに公開する通知サービスがあります。 私の通知サービスのすべてのインスタンスがこれらのイベントを取得して処理するようにします。ただし、NServiceBusでは、通知サービスのエンドポイントのいずれかのインスタンスでイベントを受け取ることができ、他のインスタンスはイベントを受け取ることができません。すべてのエンドポイントインスタンスは、サブスクライブしてイベントを処理します。

私の現在の回避策は、通知サービスのインスタンスごとに別々の名前付きエンドポイントを作成することです(名前にはサーバーホスト名が追加されています)が、イベントからの退会を確認する必要がありますインスタンスが停止したり、別のサーバーに移動したりします。

これを行うより良い方法はありますか?この場合、NServiceBusを設定して、各エンドポイントインスタンスに対して別々の着信キューを作成することはできますが、その方法やNServiceBusがそのようなユースケースをサポートしているかどうかはわかりません。

+0

すべてのインスタンスがまったく同じか、それらが異なる能力を持っていますか。それぞれが特定の技術をサポートしていますか? –

+0

@ Bob.Langleyすべてのエンドポイントインスタンスは、同じ論理エンドポイントであり、まったく同じビットです。 –

+0

どのバージョンのNServiceBusを使用していますか? –

答えて

1

あなたは正しいですか? NServiceBusはこのようなケースをサポートしていません。サブスクライバは常に論理エンドポイントとして扱われるため、個別化されたキューは使用可能であっても使用されません。

エンドポイント名を変更してインスタンスを区別することは、必要なものを達成するための最も簡単な方法です。

微分器を制御可能な実行時の値(環境変数など)に変更すると、少なくともインスタンスを移動したときの退会の必要性が軽減されます。

また、このシナリオをさらに詳しく見直したい場合は、お気軽にお問い合わせください。他の方法もあります。サポートチケットを開くだけです。

関連する問題