最近我一直在阅读有关分布式消息传递及其相关模式的内容。我使用了像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/
如果使用 NServiceBus 等工具,可以在不太考虑基础设施问题的情况下完成很多工作,但当我尝试实现一个基本的消息总线和命令处理程序时,一些问题就出现了。实际上,当涉及到这些模式时,我看不到它们之间有很多区别。
我不会粘贴代码,因为它太长了,但我找到了两篇博客文章,可以比较好地描述我想谈论的实现思路。
这个思路很简单,消息总线跟踪订阅者,并将消息分发给感兴趣的不同订阅者。
它与消息总线非常相似。命令总线调用给定命令类型的命令处理程序。
因此,在两种情况下都有相似之处。
使用一种模式而不是另一种模式的真正区别和好处是什么(我不是在谈论支持工具)?我错过了什么?
第二个问题是。没有支持工具,消息总线是否有价值?我看不到自己能够为所有租户实现支持。
抱歉问题冗长且含混不清,但请随时要求更多详细信息。