“交易中间件”在中国的发展主要是伴随着金融行业的信息化应用进步而进行的,所以说到交易中间件的功能特性,不能不提到金融行业所具有的技术特点。“交易”二字在汉语中所表达的含义通俗的说就是一手交钱,一手交货,用IT技术的语言来抽象表述,就是一个同步通讯过程:,一方发出请求(交钱)等待对方返回应答(交货)。其实这也就是“交易中间件”所提供的最核心功能,为用户搭建一个简单方便的同步通讯平台,当然随着业务需求的不断更新进步,交易中间件同样提供异步通讯(发出请求,无需等待应答),会话通讯(多次同步通讯)等多种通讯方式。这些就构建了“交易中间件”的基本框架。
每个人都有在ATM机上取款的经历,我们发出指令,等待机器给我们“回答”,也就是吐出钱来。这是一个典型的同步通讯过程,而其中应用的也恰好是“交易中间件”技术。那么让我们来考虑一下,在这样一个过程当中,作为用户的我们都关心哪些事情呢?
首先就是别让我们等太久,这其实关注的是交易中间件的实时性,关注实时性,有两个重要的技术指标,一个是前台单笔交易响应时间(不能让每一个交易等待太长时间),一个是后台每秒交易处理笔数(不能让系统有太多的排队消息)。一个交易系统是否健康,高效,这两个指标是相互印证缺一不可的。为了提高“交易中间件”的整体效率,我们会采用优化网络速度,利用线程技术,提高CPU的使用率,减少中间件内部运行开销,合理调度应用进程等等多种手段。
其次不要出现不吐钱,但是查账又少了钱的情况,这其实是在关注交易完整性保证。作为分布式的数据传输平台,我们知道理论上异地两点之间的数据交互,如果最后一次通讯失败,是不可能保证数据决对一致的。那么如何解决这个理论上的死角呢?根据业务的不同,一旦出现数据不一致的情况,有的需要以前台数据为准,有的则反之,有的还涉及多个交易分支。而我们则提供两种解决方案分别应对不同的客户需求,一个是后台向前台定时核对,直到确认结果。一个是后台多分支两阶段提交(数据库的XA协议,第一次为预提交过程,并不真正确认结果,而是一个模拟过程,第二次才真正提交),保证数据完整性。
提供一个基本的通讯平台,保证通讯的高实时性,以及数据完整性,这就是“交易中间件”的核心价值,也是您选择一个出色的中间件产品所应该注重的最基本要求。当然出除了这些基本功能以外,可能你还会关心交易的安全性问题,密码会不会被盗;一种交易失败,不影响其他交易的使用,交易的抗干扰性;银行不要总是网络不好,不能交易,出现故障后能否快速的解决问题,恢复系统等等。这些也是“交易中间件”关注的问题,这就引入了数据安全性,交易的分类管理,优先级管理,防止网络单点失效,均衡负载灾难备份,易管理性,等等概念,除此之外随着技术的进步,作为基础中间件的一部分,还要对上层中间件,其他第三方产品提供更全面的支持,比如多语言接口支持,数据库两阶段提交协议支持,各种数据类型转换支持…这些功能极大的扩充了“交易中间件”的外延,使其更加的全面强大,生命力顽强。而这些也正是我们东方通科技的交易中间件产品“TongEASY”所竭诚为您做到的,希望我们的努力能为构建一个出色的应用系统提供您所需要的一切。