WEB开发网
开发学院数据库DB2 使 XA 事务管理器灵活地应对资源管理器故障,确保... 阅读

使 XA 事务管理器灵活地应对资源管理器故障,确保更高的可用性

 2009-10-28 00:00:00 来源:WEB开发网   
核心提示: 非 SQL 事务(和没有包含 DB2 的事务)应该能继续正常运行,启用 DB2,使 XA 事务管理器灵活地应对资源管理器故障,确保更高的可用性(7),提交一个包含了 DB2 的事务,用 DB2 建立连接,那么诸如事务管理器之类的核心组件在其他相关组件出错时还能保持可用性,这点非常重要,并且事务应

非 SQL 事务(和没有包含 DB2 的事务)应该能继续正常运行。

启用 DB2。

提交一个包含了 DB2 的事务。用 DB2 建立连接,并且事务应该成功运行。

这个测试有助于验证 问题 b。

图 4. 案例 4

使 XA 事务管理器灵活地应对资源管理器故障,确保更高的可用性

图片看不清楚?请点击这里查看原图(大图)。

保护您的事务管理器,防止其受到资源管理器影响

下面是一些设计考虑因素,可以使您的事务管理器灵活应对资源管理器故障:

确保将不可用的资源管理器标记为对事务管理器不可用,并且事务管理器能够继续与其他的资源管理器一起运行。

事务管理器应该能够继续处理没有包含出错资源管理器的事务。

即使参与事务的一个资源管理器发生了灾难性的错误,事务管理器应该仍然可用。

事务管理器应该在资源管理器可用时,能够检测到其可用性。

事务管理器应该能够在出错的资源管理器恢复可用时解决出错的事务。

事务管理器应该能够在出错的资源管理器可用时,继续运行包含了出错的资源管理器的新事务请求。

要把旧的连接从事务管理器的缓存中移除,这样的话,资源管理器恢复可用后的第一个事务调用就不会出错。

最后,介绍一些小诀窍,可以帮助您使用一些流行的资源管理器:

对于 IBM WebSphere® MQ 来说,只有发布了具有同步点选项的 MQPUT,ax_reg 才会流向事务管理器。这意味着如果把 WebSphere MQ 设置为动态注册,而且错误出现在具有同步点的 MQPUT 之前,WebSphere MQ 可能就不支持 XA 弹性功能。

使用除 DB2 以外的一些流行的资源管理器时,如果在 xa_end 的过程中出错,将会返回 XAERR_PROTO,而不是 XAERR_RMERR。事务管理器要能够容忍不同资源管理器在发生类似错误时返回的不同错误代码而导致的不同行为。

结束语

在当今的企业中,如果核心系统的可用性非常关键的话,那么诸如事务管理器之类的核心组件在其他相关组件出错时还能保持可用性,这点非常重要。本文中的测试案例能够帮助您提前判断企业系统中的事务管理器是否对某些类型的错误具有灵活的应变能力。

上一页  2 3 4 5 6 7 

Tags:XA 事务管理 灵活

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接