事务高可用性
事务服务的高可用性使集群中的任何服务器都可以恢复同一集群中任何其他服务器的事务工作。此工具构成整体 WebSphere® Application Server 高可用性 (HA) 策略的组成部分。
此功能用于补充对等重新启动和恢复支持,后者允许在综合系统中的对等系统上重新启动。
作为为事务提供恢复功能的关键部分,事务服务在事务恢复日志中记录有关活动事务工作的信息。事务恢复日志以持久格式存储信息,这意味着,服务器发生故障时任何进行中的事务工作都可以在该服务器重新启动后得到处理。此活动称为事务恢复处理。除了完成未完成的事务以外,此处理还确保释放在相关资源管理器中挂起的锁。
对等恢复处理
应用程序服务器重新启动时执行的标准恢复过程用于使该服务器检索并处理已记录的事务信息,从而恢复事务工作并完成不确定事务。在服务器成功地重新启动并处理它的事务日志后,事务工作即完成(从而释放事务所挂起的任何数据库锁定)。如果服务器恢复速度较慢或者需要进行手动干预,那么无法完成事务工作,并且会中断对相关数据库的访问。
要最大程度地减少这种事务工作中断和相关数据库访问中断情况,WebSphere Application Server 提供了称为事务对等恢复的高可用性策略。
对等恢复是在服务器集群中提供的。对等服务器(另一个集群成员)可以处理发生故障的服务器的恢复日志,同时对等服务器继续管理它自已的事务工作负载。您不必等待发生故障的服务器重新启动,也不必专门为了恢复发生故障的服务器而启动新的应用程序服务器。

对等恢复过程在逻辑上与重新启动发生故障的服务器等同,但并不包括在对等服务器中完全地重新启动发生故障的服务器。对等恢复过程提供了完成未完成工作的机会;除了进行恢复处理以外,它无法启动新工作。对于发生故障的服务器,不可能进行提前处理。
对等恢复将高可用性需求从单独的服务器移至服务器集群。发生此类故障后,集群的管理系统会将新工作分派到余下的服务器;唯一的差别是系统整体吞吐量可能会下降。如果某个服务器发生故障,那么只需要完成原本在发生故障的服务器上进行的工作,然后将请求重定向到备用服务器。
- 自动对等恢复
- 这是缺省的对等恢复启动方式。如果应用程序服务器发生故障,WebSphere Application Server 就会自动选择服务器来代替其执行对等恢复处理,并在发生故障的服务器重新启动后将恢复工作传递回到该服务器。要使用此模型,请启用事务日志恢复并对每个集群成员配置恢复日志位置。
- 手动对等恢复
- 您必须显式地配置这种对等恢复方式。如果应用程序服务器发生故障,您使用管理控制台来选择服务器以代替其执行恢复处理。
在 HA 环境中,必须配置补偿日志和事务日志。对于集群中的每个服务器,请使用补偿服务设置来配置唯一的补偿日志位置,并确保所有集群成员都能够访问那些补偿日志。
对等恢复示例
下列各图说明了单一服务器发生故障时发生的对等恢复过程。图 2 显示在 WebSphere Application Server 集群中运行的三台稳定的服务器。在这些服务器之间对工作负载进行了平衡,这导致后端数据库代替每个服务器挂起锁。

图 3 显示服务器 1 发生故障(未从数据库中清除锁)后的系统状态。服务器 2 和 3 能够将他们的现有事务运行到完成并释放后端数据库中现有的锁,但由于仍然代替服务器 1 挂起了锁,所以进一步的访问能力可能会被削弱。实际上,在假定适当地配置了锁详细程度的情况下,服务器 2 和 3 仍然有可能进行某种程度的访问,但对于本示例,假定服务器 2 和 3 尝试访问被锁定的记录并且被阻塞。

图 4 显示在服务器 3 中运行的服务器 1 对等恢复过程。此恢复过程的事务服务部分将检索服务器 1 所存储的信息,并使用该信息来完成任何不确定事务。在此图中,由于数据库仍然代替服务器 1 挂起某些锁,因此仅部分完成了对等恢复过程。

图 5 显示对等恢复过程完成时的服务器集群状态。系统处于稳定状态,它仅包含两台服务器,工作负载在这两台服务器之间是平衡的。可以重新启动服务器 1,它自己不需要执行恢复处理。
