TIBCO Rendezvous(或TIBCO RV)产品是一个中间件,具有发布/订阅(Publish/Subscribe)、基于主题的寻址(Subject-Based Addressing)和自定义数据消息(Self-Description Data Messages)的功能。 该功能使得不同应用平台的信息可以在共享的虚拟总线TIB(Information Bus)上进行传输和交换。 这些技术可以有效帮助企业从传统的请求/回复(Request/Reply)模式转向事件驱动模式(Event-Driven,或Push)自动接受数据。
TIBCO RV有助于获取各种应用系统中的信息和数据,并且可以有机连接异构平台。
即插即用

位置无关
分布式服务
服务)
在 WAN 和 LAN 之间配置系统。 并且TIBCO RV具有认证消息传递(Certified Message Delivery)、容错(Fault Tolerance)和分布式队列(Distributed Queue)功能。 由于使用TIBCO RV时您无需考虑网络的技术细节,而只需专注于企业应用程序的开发,因此您可以快速构建和配置可扩展的分布式应用系统。
TIBCO Rendezvous 的优势:
• 加快应用程序开发速度并降低维护成本;
• 唯一独立于硬件、操作系统、网络和协议平台的供应商;
• 动态组件更换:进程可以随时加载、退出、更换,不影响系统运行;
• 阻止网络详细信息;
• 高应用扩展性;
• 与地址无关,简化添加/更改组件;
• 提高配电系统的使用寿命;
TIBCO Rendezvous 的 2 个特点:
1)一般特点:
• 分布式队列实现一对多的信息传输;
• 安全消息传递;
• 冗余机制实现容错;
• 所有平台之间的点对点传输;
• 与其他通信协议共存于一个统一的系统中;
• 支持多种数据内部交换格式;
• 系统开销低,易于嵌入;
• 线程安全,多线程安全保护;
• 支持组播;
2)通信和数据特性:
• 异步通信;
• 发布/订阅、可靠的广播/组播机制;
• 点对点请求/回复;
• 基于主题的消息传递;
• 自定义数据信息独立于硬件/操作系统;
• 透明的信息包装或重组;
3)认证信息传输:
• 清晰的消息认证,确保消息送达目的地;
• 确保进程中断和重启过程中要传输的信息不丢失;
• 分布式队列自动实现负载均衡功能;
• 将信息传递给队列中的成员;
• 队列成员进程保持异步运行;
4)容错性:
• 通过冗余进程实现系统容错;
• 监控活动的冗余进程;
5)开发特点:
• 提供Java、C、C++、ActiveX、.NET 和Perl 的API 库;
• 源代码兼容所有平台;
• 支持同步/异步事件管理结构;
3 TIBCO RV与IBM MQ消息中间件对比分析
对于消息中间件,大多数人都熟悉IBM MQ,它是目前应用最广泛的中间件产品。 其实有一种消息中间件叫Rendzvous,在国外也被广泛使用,但是在国内应用并不广泛,所以在国内没有MQ那么出名。 这种消息中间件的设计与MQ完全不同,并且具有许多不同的特性,使其在某些应用场景中更具优势。
我们先来总结一下消息中间件的功能。 上述中间件都实现了这些功能。
实现消息的异步发送和接收、发布和订阅,解耦两端的应用。 实现消息持久化机制,保证消息传输的可靠。 优化网络传输,支持断点续传。
MQ消息中间件主要特点
在ISC产品使用的MQ消息中间件中,消息接收端主动接收消息。 消息从发送端发出后,首先会缓存在服务器上。 接收端应用程序发起接收消息的请求,服务器将返回的消息作为响应发送给接收端。 如果接收端没有执行接收动作,该消息将一直保存在服务器上。
而且MQ消息中间件在IP层采用点对点传输。 服务器根据消息的主题缓存消息,并为每个订阅者复制每条消息的引用。 当所有订阅者都从服务器检索到消息时,该消息将从服务器中删除。
从协议角度来看,MQ消息中间件在传输层使用TCP协议来保证消息传输连接的可靠性,无论是Server与Server之间还是Server与Client之间的通信。
RV消息中间件主要特点
RV与MQ不同的是,RV采用消息推送模式。 消息从发送端发出后,不会缓存在服务器上。 服务器只进行路由,将消息推送到消息接收端。 只要消息接收端连接到Server并订阅了要接收的消息,这些消息就会从Server源源不断地推送过来。 消息首先缓存在接收客户端的队列中,然后接收应用程序从队列中检索消息。
与在IP层采用点对点传输的MQ消息中间件相比,RV实现发布和订阅要简单得多。 RV在IP层使用广播或多播。 使用广播或多播,可以直接实现一对多的发布订阅形式。 发布应用程序将消息发布到 RV 网络。 这些消息将广播到网络中的每个节点,每个订阅应用程序都将收到这些消息。
从协议角度来看,RV使用UDP协议进行服务器之间的通信,牺牲可靠性来满足高实时性要求。
以组件使用的MQ为例,在服务器端主要通过Queue和Topic来缓存消息,通过Queue和Topic的名称来匹配消息的发送者和接收者。 每个Server可以创建的Queue和Topic都是有限的,这也限制了使用MQ消息中间件构建的应用程序。 这些应用程序在发送和接收消息时只能使用粗粒度的消息分类。
但RV并没有在服务器端缓存消息,也没有服务器端的Queue和Topic。 它使用消息的主题来匹配消息发送者和接收者。 每条消息都有一个主题。 主题格式是多个字符串的串联,数量和长度没有限制。 例如,在市场数据系统中,市场数据消息的主题包含金融工具的名称,并且这样的主题可以有数百万个。 消息订阅端可以详细到只接收某个市场的某个品种的行情数据。
RV使用优化的算法来实现受试者筛选。 假设RV网络上有一万种消息,一台RV Server连接一千个消息接收者,每个接收者订阅不同的Subject。 RV Server 的工作就像一个超级邮件分拣机。 它对RV网络广播的每条消息进行Subject判断,以确定是否在千个订阅的Subject范围内。 如果是,则将该消息推送到订阅该消息的接收端,否则该消息将被丢弃。 当数据量很大时,这种过滤工作需要很高的效率。
总而言之,RV最大的特点就是推送模式,将数据以最快的速度从一个数据生产者推送到多个数据消费者,最后经过客户端缓存的消息中间件。分布式结构,适合分布式应用系统并且方便扩展。 Push加客户端缓存,适合实时性高的消息处理。 消息需要尽快到达目的地。 无需保存过时的消息。 消息接收 终端应用要做的就是不断的处理已经推送过来的消息
4 TIBCO Rendezvous 结构和部署
TIBCO Rendezvous主要由两部分组成