最近我读了很多关于分布式消息传递和相关模式的文章。我使用了其中一些工具支持的工具,例如NServiceBus。
许多这些模式在互联网上都有描述。我最近读到的其中一些是:
- 消息代理:http: //msdn.microsoft.com/en-us/library/ff648849.aspx
- 消息总线:http: //msdn.microsoft.com/en-us/library/ms978583.aspx
- SOA 中的消息传递模式:http: //msdn.microsoft.com/en-us/library/aa480027.aspx
- Udi Dahan 关于差异的帖子:http ://www.udidahan.com/2011/03/24/bus-and-broker-pubsub-differences/
如果使用 NService 总线这样的工具可以在不考虑基础设施问题的情况下做很多事情,那么当我尝试实现基本的消息总线和命令处理程序时,就会出现一些问题。事实上,当谈到这些模式时,我看不出它们之间有很多差异。
我不会粘贴代码,因为它太长了,但我找到了两篇博客文章,它们很好地描述了我想谈论的实现的想法。
这个想法很简单,消息总线跟踪订阅者并将消息分派给不同的订阅者,如果他们感兴趣的话。
它与消息总线非常相似。命令总线调用给定命令类型的命令处理程序。
所以在这两种情况下都有相似之处。
使用一种模式比使用另一种模式的真正区别和好处是什么(我不是在谈论支持工具)。我错过了什么?
第二个问题是。如果没有支持工具,消息总线是否有价值?我不认为自己能够独自推动对所有租户的支持。
对于一个冗长而令人困惑的问题,我深表歉意,但请不要犹豫,询问更多细节。