5

我对syncpoint来自 WebSphere MQ 的内容有点困惑。根据 WMQ Infocenter 的参考资料,同步点定义如下:

在最简单的情况下,在任务结束时做出提交或撤销更改的决定。但是,应用程序在任务中的其他逻辑点同步数据更改可能更有用。这些逻辑点称为同步点(或同步点),处理两个同步点之间的一组更新的周期称为一个工作单元。

因此,a unit of work称为两个同步点之间的处理。据我了解,该工作单元实际上是一个事务。所以我在这里画了一张反映它们之间关系的图:

在此处输入图像描述

  1. 我理解正确吗?
  2. 这里的另一个问题是关于同步点,据说是为应用程序同步数据,数据从哪里同步到哪里?

谢谢

4

1 回答 1

5

答案1:是的,您理解正确。事务是整体成功或失败的原子工作单元。同步点是事务之间的边界。事务和同步点之间的细微差别在于,在事务下完成的工作可能会在一段时间内处于不确定状态,而同步点是事务处于不确定状态的状态。如果发生故障,队列将恢复到上一个​​同步点时存在的状态,然后回滚任何待处理的事务,或者在 XA 的情况下,可能由资源管理器提交。

信息中心页面交易管理和支持可能比帖子中链接的页面更好地解释它。

答案 2:数据由资源管理器同步。对于消息是事务中唯一参与者的本地工作单元,同步只发生在队列中,并且队列管理器同时充当资源管理器和事务管理器。对于在同一事务中涉及消息和数据库更新的全局工作单元,同步发生在 QMgr 和充当资源管理器的数据库中。事务管理器将是 MQ 或应用程序服务器,它协调资源管理器之间的同步。

无论事务是本地的还是全局的(有时也称为单阶段提交或两阶段提交),事务和同步点之间的关系都是相同的。同步点是保留已知状态并且可能将不确定事务回滚到的最近时间点。

于 2012-09-27T03:01:21.410 回答