5

私はsyncpoint、WebSphere MQ からのものについてちょっと混乱しています。WMQ Infocenter からの参照によると、同期点は次のように定義されています。

変更をコミットするか取り消すかの決定は、最も単純なケースでは、タスクの最後に行われます。ただし、タスク内の他の論理ポイントでデータ変更を同期する方が、アプリケーションにとってより便利な場合があります。これらの論理ポイントは同期ポイント (または同期ポイント) と呼ばれ、2 つの同期ポイント間の一連の更新を処理する期間は作業単位と呼ばれます。

したがって、a unit of work2 つの同期点間の処理として名前が付けられます。私の理解では、その作業単位は実際にはトランザクションです。そこで、両者の関係を反映した絵をここに描きます。

ここに画像の説明を入力

  1. 私はそれを正しく理解していますか?
  2. ここでの別の質問は、同期点に関するものです。アプリケーションのデータを同期すると言われています。データはどこから同期され、どこに同期されますか?

ありがとう

4

1 に答える 1

5

回答 1: はい、正しく理解しています。トランザクションは、全体として成功または失敗するアトミックな作業単位です。同期点は、トランザクション間の境界です。トランザクションと同期点の微妙な違いは、トランザクションの下で行われる作業が一定期間未確定である可能性があるのに対し、同期点はトランザクションが未確定でない状態であるということです。障害が発生した場合、キューは最後の同期点に存在していた状態に復元され、保留中のトランザクションはロールバックされます。XA の場合は、リソース マネージャーによってコミットされる可能性があります。

インフォセンターのページトランザクション管理とサポートは、投稿にリンクされているページよりもよく説明されている可能性があります。

回答 2: データはリソース マネージャーによって同期されます。メッセージがトランザクションの唯一の参加者であるローカル作業単位の場合、同期はキューでのみ発生し、キュー マネージャーはリソース マネージャーとトランザクション マネージャーの両方として機能します。メッセージとデータベースの更新が同じトランザクションに含まれるグローバルな作業単位の場合、リソース マネージャーとして機能する QMgr とデータベースで同期が行われます。トランザクション マネージャーは MQ またはアプリケーション サーバーのいずれかであり、リソース マネージャー間の同期を調整します。

トランザクションがローカルであるかグローバルであるか (単一フェーズ コミットまたは 2 フェーズ コミットとも呼ばれる) に関係なく、トランザクションと同期点の関係は同じです。同期点は、既知の状態が保持され、インダウト トランザクションがロールバックされる可能性のある最新の時点です。

于 2012-09-27T03:01:21.410 に答える