RVIBM MQ和JMS消息中间件的对比分析_第1页
RVIBM MQ和JMS消息中间件的对比分析_第2页
RVIBM MQ和JMS消息中间件的对比分析_第3页
RVIBM MQ和JMS消息中间件的对比分析_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、rv ibm mq和jms消息中间件的对比分析tibco rv,ibm mq和jms消息中间件的对比分析对于消息中间件,绝大多数熟悉的是ibm mq,这是目前使用最广泛的中间件产品。国内还有一款中间件tonglinkq,结构和mq相似。其实在国外还有一款叫rendzvous的消息中间件应用也非常广泛,只是在国内应用不多,所以在国内并没有mq那么大的名气。这款消息中间件的设计和mq是完全不同的,有很多不同的特性特点,使得它在某些应用场景具备更多的优势。总结一下rendzvous的架构特点,和mq的架构以及jms消息中间件的架构做比较。深入了解和比较这些中间件产品,才能用的准用的好它们。先总结一下

2、消息中间件的功能,以上的三类中间件都实现了这些功能。实现消息的异步发送接收,发布订阅,使得两端的应用解耦。实现消息持久化机制,保证消息可靠性传输。优化网络传输,支持断点续传。1.分布式结构vs星型结构vs接收,服务端缓存vs客户端缓存。rv和mq都是分布式结构的,和jms消息中间件的星型结构不同。分布式消息中间件的server在应用环境里都会部署多个,彼此互联,没有主备之分。jms消息中间件的应用部署一般都是主备两个server,消息的发送和接收应用平时和主server相连,有问题时切换到备server,主备server共用公共的存储设备来保存消息。mq和jms消息中间件都采用消息接收端主动接

3、收消息的方式。消息从发送端发出后,首先会缓存到server上,接收端应用发起一个接收消息的请求,server把消息作为应答返回给接收端。接收端不执行接收动作,消息就会一直在server上保存。rv和这两种消息中间件都不同,使用的是消息推送的模式。消息从发送端发出后,并不在server上缓存,server只做路由把消息推送给消息接收端。消息接收端只要连接上server,订阅要接收的消息,这些消息就会源源不断地从server那里推送过来,消息先缓存到接收客户端的队列里,接收端应用再从队列里取消息。总之rv是一个分布式结构,推送消息模式,客户端缓存的消息中间件。分布式结构适用于分布是应用系统,方便做

4、扩展,推送加客户端缓存适用于高实时性消息的处理,消息需要在第一时间到达目的地,过时的消息的没有必要保存下来的,消息接收端应用需要做的事情就是不断地处理已经推送到的消息。2.使用广播和组播来实现一对多的发布订阅。mq和jms消息中间件在ip层都使用点对点的传输方式,而rv在ip层使用的是广播或者组播的方式。使用广播或者组播可以直接实现一对多的发布订阅形式,发布应用发布消息到rv网络上,这些消息会广播到网络的每一个节点上,每一个订阅应用都会收到这些消息。而mq和jms实现发布订阅就要麻烦的多了,都是在server按消息的topic来缓存消息,为每一个订阅者拷贝每一条消息的引用。当所有订阅者都从se

5、rver上取走某条消息,这条消息才在server上删除。3.udp vs tcp。mq和jms消息中间件不论是server和server的通信,还是server和client的通信,在传输层都使用tcp协议,保证消息传输连接的可靠性。而rv在server和server之间的通信使用了udp协议,牺牲可靠性来达到高实时性的需求。rv有两种可靠性级别,rv reliable和rvcm。rv reliable模式使用基于udp增加了一定可靠机制的trdp协议,在一定范围内具有消息包的检查和重传机制,保证了一定程度的消息可靠性,但不保证消息不丢失。rvcm在rv reliable基础上更进一步,在消息

6、级别具有消息确认和重传机制,可以保证消息绝对不丢失。对于长度在1500个字节以下的消息,rv reliable发布消息能达到150万笔消息每秒,接收也能达到50万笔消息每秒。传输消息的性能是非常好的。4.使用消息subject做收发两端的匹配。mq和jms消息中间件在server端按queue和topic来缓存消息,消息的发送端和接收端按queue和topic的名字来匹配。每个server能创建的queue和topic是有限的,这也就限制了使用mq和jms消息中间件构建的应用,这些应用在做消息收发处理的时候只能使用粗粒度的消息分类。rv不在server端缓存消息,也没有server端的queu

7、e和topic。它是使用消息的subject来做消息发送端和接收端的匹配的。每个消息都有subject,subject格式是多个字符串的串接,没有数目或者长度的限制。比如在市场数据系统里,行情数据消息的subject里包含金融品种的名字,这样的subject可以有上百万个。消息订阅端可以细到只接收某个市场的某个品种的行情数据。rv使用优化的算法实现subject的筛选。如果rv网络上有一万种消息,一个rv server被一千个消息接收端连接,每个接收端订阅不同的subject。那rv server的工作就类似一个超级的邮件分检员,对每一个从rv网络上广播而来的消息做subject的判断,判断是否在这一千个订阅的subject的范围内,是则将消息推送到订阅此消息的接收端,否则将消息抛弃。当数据量很大时,这种筛选工作是需要很高效率

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论