使用最新版本的NServiceBus 4.4我相信。
我们正在寻求实施NServiceBus,本节使用SQLServer作为传输。我们想发布/订阅,这很好但是如何扩展订阅者呢?
我做了一个PoC,我多次运行SQLServer传输的接收端点,当有消息进来时,正在运行的接收器的第一个实例收到消息并对其进行处理,导致另一个进程没有处理它,这是正确的。
在使用SQLServer的pub / subscribe体系结构中,运行多个订阅者实例的方法是否相同,并且由于我们使用的是公共队列(SQLServer),它只是自行排序而不是多次处理消息? / p>
答案 0 :(得分:1)
使用SQL Server持久性时,事件和消息的订阅者保存在NServiceBus数据库的Subscription表中,因此您可以通过查看内容来检查哪些端点正在订阅哪些消息或事件。
值得注意的是,您只能发布" message"具有NServiceBus的类正在实现IEvent接口(除非您使用unobtrusive mode)。
使用bus.Publish发布消息或事件时,只要各个端点名称不同,该类型的所有订阅者都将订阅它。
来自特定软件的更多信息是here:
here。