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