我仍在研究我的消息队列概念,请参阅:消息总线中的总线发现。
我有另一个问题。我有一个通用类型库,即存储订阅者和接收者可以发送和接收的所有类型的库。
一种消息类型可能从多个发布者发送,因为不同的发布者可以出于不同的目的使用相同的消息类型做不同的事情
- 这有可能起作用吗,尤其是在rebus中
- 订阅者如何知道要连接哪个发布者
谢谢阅读
我仍在研究我的消息队列概念,请参阅:消息总线中的总线发现。
我有另一个问题。我有一个通用类型库,即存储订阅者和接收者可以发送和接收的所有类型的库。
一种消息类型可能从多个发布者发送,因为不同的发布者可以出于不同的目的使用相同的消息类型做不同的事情
谢谢阅读
您可以使用 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 不需要的是以下内容: