三个经典消息中间件的比较
对于消息中间件,绝大多数熟悉的是 MQ 公司出品,这是目前使用最广
泛的中间件产品。还有两个也比较流行,他们是 JMS 和 。 即 消息服
务()应用程序接口是一个 平台中关于面向消息中
间件的 ,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信,
是一个与具体平台无关的 。(或称为 RV)也是
一种中间件,具有发布订阅 、基于主题寻址!"#
和自定义数据信息$#%%"等专
利技术功能,使不同应用平台上的信息在一个共享的虚拟总线 $&"
上进行传输交换。
先总结一下消息中间件的功能,以上的三类中间件都实现了这些功能。
实现消息的异步发送接收,发布订阅,使得两端的应用解耦(减少或解除
应用程序之间的耦合度)。
实现消息持久化机制,保证消息可靠性传输。
优化网络传输,支持断点续传。
1、区别之是否分布式
和 '都是分布式结构的, 和 消息中间件的星型结构不同。分布式
消息中间件的 在应用环境里都会部署多个,彼此互联,没有主备之分。
消息中间件的应用部署一般都是主备两个 ,消息的发送和接收应用平时和
主 相连,有问题时切换到备 ,主备 共用公共的存储设备来
保存消息。
2、区别之是否接收端主动
'和 消息中间件都采用消息接收端主动接收消息的方式。消息从发送
端发出后,首先会缓存到 上,接收端应用发起一个接收消息的请求,
把消息作为应答返回给接收端。接收端不执行接收动作,消息就会一直在
上保存。和这两种消息中间件都不同,使用的是发送端主动的消息推
送模式。消息从发送端发出后,并不在 上缓存, 只做路由把消息
推送给消息接收端。消息接收端只要连接上 ,订阅要接收的消息,这些消
息就会源源不断地从 那里推送过来,消息先缓存到接收客户端的队列里,
接收端应用再从队列里取消息。 的最大特点就是把一个数据生产者的数据以最
快的速度推送到多个数据消费者那里。 从金融市场数据系统的需求中产生而来,
正是这些特点使得它在证券系统得到最广泛的应用。