我正在尝试开发发布/订阅系统 为此,我已经阅读了一些有关它的文章和文章。 他们都将Messaging服务作为发布/订阅系统的一个组成部分。
我的问题是,我可以在不使用像JMS这样的MOM的情况下开发发布订阅系统吗? 或者我是否遗漏或过度简化了事情?
答案 0 :(得分:0)
我不认为你过分简化了事情。有一些独立的产品可以提供基于发布/订阅的高级功能,而不是更大的MOM系统的一部分。
其中之一是实施数据分发服务(DDS)规范的一组产品,由对象管理组(OMG)标准化。查看this Wikipedia entry以获得非常简短的介绍和参考列表。
DDS支持许多高级数据管理功能,如强类型和内容感知数据总线,分布式状态管理和历史数据访问。其丰富的服务质量设置允许从应用程序向中间件卸载大量复杂性。这完全基于发布/订阅范例。
如果您想了解有关您的应用程序的更多信息,那么我可能会指出您使用此技术的类似用例 - 如果您有兴趣。
答案 1 :(得分:0)
这取决于你对“妈妈”的意思。如果您认为MOM = JMS然后是,那么有很多pub / sub应用程序不是JMS服务器(在我的脑海中):0MQ,TIBCO Rendezvous和许多AMQP实现。
我想我对MOM的定义是一种基本结构,用于以异步方式可靠地将消息从一个系统传送到另一个系统。发布/订阅是消息传输之上的一项功能,它允许将消息分发到多个其他系统。一旦你超越打开一个套接字并填充一堆字节,我就会认为你属于MOM领域。
所以,不,你不需要JMS来做pub / sub ....有很多开源和闭源替代品。哪一个取决于您的要求和技能。
答案 2 :(得分:0)
您可以查看提供一对多通信的multicast
。多播不需要MOM,而是需要支持多播的IP网络。通常,网络路由器负责创建消息副本并将消息传递到目的地。