私はまだメッセージ キューの概念に取り組んでいます。
別の質問があります。共通の型ライブラリ、つまり、サブスクライバーとレシーバーが送受信できるすべての型を格納するライブラリがあります。
1 つのメッセージ タイプが複数のパブリッシャーから送信される可能性がある
- これが機能する可能性はありますか、特に rebus で
- サブスクライバーは、接続するパブリッシャーをどのように知るか
読んでくれてありがとう
私はまだメッセージ キューの概念に取り組んでいます。
別の質問があります。共通の型ライブラリ、つまり、サブスクライバーとレシーバーが送受信できるすべての型を格納するライブラリがあります。
1 つのメッセージ タイプが複数のパブリッシャーから送信される可能性がある
読んでくれてありがとう
Rebus でこれを機能させることができます- これが推奨されるアプローチであるかどうかを言うのは難しいですが、これはうまくいくはずです:
異なる種類のすべてのパブリッシャーで同じサブスクリプション ストレージを共有する場合 (たとえば、サブスクリプションを共有 SQL Server の同じテーブルに格納することによって)、それらのいずれかにアクセスすると、いずれかによってパブリッシュされたものbus.Subscribe<TEvent>
をサブスクライブすることになります。TEvent
サブスクライブするパブリッシャーをランダムに選択する場合 (または単に事前にわからない場合)、次のいずれかを実行できます。
サブスクリプション ストレージを編集してすべてのサブスクリプションを手動で確立する、または
専用のサブスクリプション マネージャーとして機能するようにエンドポイントを構成します。この方法では、すべてのサブスクライバーはサブスクリプション マネージャーについて知っているだけで、すべてが必要に応じてbus.Subscribe
配線されます。
これで問題が解決することを願っています...これを行う場合は、どのように機能するか教えてください:)
オプション #2 の図を次に示します。
要約すると、その作業を行うために必要なものは次のとおりです。
<add messages="AssemblyWithAllMyEvents" endpoint="subscriptionManager.input"/>
このように、シーケンスは次のようになります。
bus.Subscribe<MyMessage>()
bus.Publish(new MyMessage())
MyMessage
MyMessage
インスタンスを sub1 に送信します。IOW 必須ではないものは次のとおりです。