私たちは、システムで実行中の他のプロセスにメッセージを公開するためにNServiceBusを既に使用するプロセスを持っています。このプロセスに追加の機能を追加して、他のプロセスにメッセージを公開する必要がありますが、新しいタイプのメッセージで別のキューに書き込むことができるようにしたいと考えています。優先順位が異なるので、同じキューにメッセージを混在させたくないのが望ましいです。私が見てきたことは、NServiceBusがプロセスごとに1つのキューしかサポートしていないことを示しています。これは正しいです?NServiceBus:1つ以上のキューに発行するプロセスのための要件
これがそうなら、誰でも良い回避策を提案できますか?私が考えることができるのは、新しいキューを別の "NServiceBus Hub"プロセスに格納してから、WCFインテグレーション機能を使用して新しいメッセージのプロセス間プロセスをプロセスからハブに中継して新しいキューに挿入することです。
ありがとうございました。
ヒュー、応答に感謝します。私はあなたが何を示唆しているのか理解しようとしています。とにかく私の問題は受信者(加入者)ではありません。この問題は、優先順位の高いメッセージと低いメッセージの両方を生成する(分離できない)送信者(パブリッシャ)アプリケーションです。パブリッシャキューを別々のサービスに置くことはできますが、アプリケーションとパブリッシャサービスの間でどのように通信しますか? WCF? – jacko
問題はキューイングではないので、優先度の高いメッセージと低いメッセージを同じサービスに結合しているということです。サブスクライバが両方のメッセージタイプに登録されていない場合、唯一の問題は、パブリッシャが優先度の低いものをパブリッシュするCPUサイクルを使い切ることだけです。公開は、サブスクリプションの評価とMSMQ経由の送信です。 MSMQは、各サブスクライバに対して、メッセージを送信するために別個のローカルキューが作成されることを保証します。したがって、メッセージの優先順位付けを行う場合は、パブリッシャを複数のサービスに分割する必要があります。 –