前面总结了市场数据系统( Market Data System )的一些设计点,又总结了 TIBCO RV 消息中间件的一些特性,连接如下:
http://blog.csdn.net/zlushangnwpu/archive/2010/05/03/5553318.aspx
http://blog.csdn.net/zlushangnwpu/archive/2010/05/02/5550252.aspx
RV 正是从金融市场数据系统的需求中产生而来,它在证券系统得到最广泛的应用。以下概括了 RV 在市场数据系统里的运用技术点。好马配好鞍, MDS 配 RV 。
RV 特性 | 在市场数据系统中的运用 |
RV 采用的是推送消息机制。数据在发送端和接收端缓存,不会在 RV 服务端缓存。连接都是开销较大的长连接。
| 后台和中台的通信使用推送的方式,保证消息在第一时间传递到中台。
|
RV 一对多的发布订阅机制在 IP 层使用广播机制实现,订阅端的增加不会给发布端或者服务端带来更大的开销。 在同一个 RV 网络里,可以任意增加 RV 服务,增加 RV 的发送端和接收端。
| 适用于后台服务,中台服务的任意扩展。后台服务发布数据消息,中台服务订阅需要的消息。
|
RV 服务端通信在传输层使用的是 UDP 协议,实时性好,适合大批量小消息的传输。
| 保证行情数据的实时性。适合海量行情数据的处理。 RV 发布 1500 字节以下消息,每秒可达百万消息级别。 |
RV 通过 Subject 实现发布订阅端的消息匹配, Subject 按消息的分类和内容组装。 RV 接收端使用优化的筛选算法,在大量消息中选出已经订阅的消息。 | 使用 RV 来做后台服务消息的筛选, Subject 格式:市场 . 分类 . 品种 . 数据。 中台服务使用 RV 来做行情数据消息的筛选,从 RV 网络中传输的海量数据里,快速的挑选出订阅的数据。 |
RV 的两种可靠性机制, RV reliable 和 RVCM | 使用 RV reliable 方式传输可以丢失的消息;使用 RVCM 传输不能丢失的消息。 同一个 RV 连接可以订阅接收两种机制的消息。 |
RV Event Queue 有不同的优先级 | 根据不同类别数据的实时性要求,在订阅接收端使用不同优先级别的队列 |
RV 客户端缓存控制机制 | RV 自己有客户端队列的控制机制,还可以先把消息 Dispatch 出来放入其他的缓存区按照新的方式进行控制 |
RVFT 可以使用基于 RV 的主备应用之间的 PING 包通信 | 实现主备服务的 PING 包通信 . PING 包通信使用的端口和行情数据传输使用的端口分开,避免相互干扰。
|
RV 消息的序列化方案是自描述的 | 可以实现固定格式的消息序列化方案,比较 RV 自己的序列化方案节省空间 |