TIBCO企业应用解决方案 之EAI解决方案:Business Works + Adapters 5

本文探讨了集群在容错备份和负载均衡中的应用。介绍了高可用性(HA)的实现原理及切换时事务一致性的保证方法,并详细阐述了TIBCO EAI平台在HA部署中的具体实践。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

 

 

应用场景分析之集群

集群包含两方面的内容,容错备份和负载均衡。容错备份(Fault Tolerance)也可以称为高可用性HA(High Available )。一般是主备机上部署相同的应用,主机工作,备机空闲。当主机宕机时, 系统自动切换到备机,备机上的应用启动继续工作,从而达到整个系统高可用性的目的。HA实现示意图如下:

 ha             

(1)     主备机的切换由操作系统的HA软件负责。

(2)     主备机共用一个虚拟IP和虚拟主机名。在切换时,应用的客户端不会受到影响。

(3)     整个应用系统的软件,配置文件,工程文件,这些属于部署环境的内容在主备机上各有一份。

(4)     对于运行时的数据,不论是存在内存里,还是存在硬盘里都有两种处理方式。 a. 主机中存有一份运行时数据, 定时地同步到备份机上;b. 主备机使用共享存储存放运行时数据。

(5)     在主机宕机时,由于备份机上有和主机相同的软件,配置和工程文件,和主机宕机前相同的运行时数据,所以备机上的应用得以继续运行。

主备机切换时的一个关键问题,也是整个HA的一个关键问题是:如何保证切换时的事务一致性,即主机在切换点未处理完的事务,是否能在备机上继续无缝地执行;或者是否能在备机上恢复事务开始前的状态,重新执行该事务操作。方法1的实现方式是:当主机宕机时,确定备机或者共享存储上运行时数据的状态,以及在这个状态下,下一步要做的操作。备机从这个操作起,继续往下执行。这种方式对应用系统要求比较高。方法2相对简单一些,当主机宕机时,如果有未完成的事务,首先回滚该事务,将数据状态恢复到该事务开始前的状态,然后备机重新执行该事务,之后继续往下执行。不论哪种方式,都不能确保百分之百地实现事务的完整性(XA规范也不能实现分布式事务百分之百的一致性,完整性)。对于这种情况,应用通常的解决办法是对前端和后端进行手工勾对,检查业务处理的一致性,完整性。

对于TIBCO EAI平台,前面提到Business Works中的组件和Adapter作为其他软件或者系统的接口数据适配器,本身没有功能处理逻辑,没有事务处理逻辑,不缓存数据,只是在集成流程和其他软件或者系统之间透传数据和接口调用。Business Works的流程支持XA事务。而连接Business Works流程和Adapter实例的消息中间件层,根据不同的消息可靠性级别,将消息存放在内存或者文件中。对于基于TIBCO EAI平台的集成应用,HA部署如下:

 

tibco ha     

通常使用方法2来保证主备机切换时事务的一致性, 主机宕机时,Business Works的流程和Adapter实例上正在运行的事务会自动回滚,消息层的消息数据恢复到该事务开始时的状态,备机上的应用启动后继续执行。

第二个内容是负载均衡,即同样的应用部署在多台机器上,从客户端来的处理请求,被负载均衡模块分配到不同机器的应用上,提高整个系统的处理能力。同时也兼有HA的功能,即某些机器上的应用宕掉,它所承担的负载会被自动转到其他机器上。对于TIBCO EAI平台的负载均衡,之前提到Business Works的流程是事件驱动流程,通常都是服务端接收到服务处理请求后触发执行一个流程任务,对于不同通信协议的服务处理请求,负载均衡实现方式有两种:

1)对于TCP, HTTP, Web Service协议的服务请求采用F5服务器来做负载均衡。

2)对于使用消息中间件消息作为服务请求的情况,使用消息中间件本身的负载均衡功能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值