基于接收表的ESB研究与设计

时间:2009-12-16来源:网络

1.3 事务处理
接收表在进行消息传递时,应使用事务性通道,把消息放置到输出通道中属于同一个事务的一部分。
为了保证事务,接收表路由器在发送消息m到服务单元后,服务单元应向接收表路由器发送ack消息。当接收表接收到所有应接收到消息m的服务单元返回的ack消息后,接收表路由器向服务单元发送commit消息,服务单元接收到commit消息后,才真正接收消息m。这样就保证所有消息要么全部发送,要么都不发送,从而避免了有的服务单元得到消息而有的服务单元没有得到消息的情况的发生,保证了整个系统的一致性。
1. 4 服务单元失效处理策略
以在应用ESB集成的系统环境中,服务单元可能会发生故障。为提高系统的可用性,采用以下服务单元失效处理策略。
每个服务单元定时向ESB的接受表路由器发送消息available告知服务处于活动状态。每个服务单元保存ESB所集成的所有服务单元的信息表。该列表同时记录最后一次收到各个节点available消息的时间。
当ESB的接受表路由器长时间收不到服务单元Ⅳ的available消息,则认为服务单元Ⅳ失效,接受表路由器删除本地全局路由表中有关该服务单元的路由信息及其规则库。


2 接收表的工作效率
与ESB集成的服务单元中,如果只有较少数量的服务单元接收消息,则基于内容的路由算法,有一定的速度优势,但当有大多数服务单元接收消息的情况下,由于接收表同时向多个服务单元发送消息,则接收表路由算法的效率会更高。
在基于内容的路由算法中,消息传递到服务单元的期望时间与接收此消息的服务单元的数理呈现线性增长(t=kn,t为从发送消息到所有消息都被服务单元接收所用的时间,n为服务单元的个数,k为系数)的关系。而应用接收表的算法中,消息传递到服务单元的期望时间与接收此消息的服务单元的数理呈现近似二次曲线(t2=kn)的关系。两种路由算法的效率比较情况,如图3所示。

3 结束语
文中研究并设计了基于接收表的ESB路由算法,并对路由算法的效率、动态化、事务处理和失效处理等关键问题进行了分析。基于接收表的路由算法提高了消息交互的效率,并且保证了消息的安全性和实时性,是利用ESB进行系统集成的解决方案之一。

1 2 3

关键词: ESB

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版