分散トランザクションのシート


            _       _       
           | |     | |      
  ___  __ _| |_   _| |_ ___ 
 / __|/ _` | | | | | __/ _ \
 \__ \ (_| | | |_| | ||  __/
 |___/\__,_|_|\__,_|\__\___|
                            

ここに画像の説明を挿入
ここに画像の説明を挿入
まず、Seataのライフサイクルの定義を示します

  • TMはTCに適用され、グローバルトランザクションを開始します。グローバルトランザクションが正常に作成され、グローバルに一意のXIDが生成されます。
  • XIDは、マイクロサービス呼び出しリンクのコンテキストで伝播されます。
  • RMはブランチトランザクションをTCに登録し、それらをXID対応のグローバルトランザクションの管轄下に置きます。
  • TMは、XIDのTCへのグローバル送信またはロールバック解決を開始します。
  • TCは、XIDの管轄下にあるすべてのブランチトランザクションをスケジュールして、コミットまたはロールバック要求を完了します。

当初、シータのライフサイクル(呼び出しプロセス)がわからなかったのですが、何度も読んでみると、用語的に理解していなければ、シータのライフサイクルがよくわかると思いました。

ここでは、人生の例を使って理解します

まず、TMを村の委員会と、TCを地方自治体と、RMを村人と比較します。

1.まず、村の委員会は、村民の福祉に関する提案を交渉して解決し、その提案を地方自治体に報告しました-総務の開始の申請

地方自治体は提案申請書を発行し、村の委員会に詳細を記入して提出するよう要求しました。提案申請書は世界的にユニークなXIDです。

2.村の委員会は、村人に通知し、意見を求める提案を出しました。村人がニュースを知っていれば、マイクロサービスコールリンクのコンテキストでXIDが広まるのと同じです。

3.村人が意見をまとめたら、村の委員会に報告します。これは、村人が事件に参加するのと同じです。

4.決定は村人によって行われますが、政府とつながるのは村の委員会です。これは、TMがXIDのTCへのグローバルな提出またはロールバック決議を開始することに相当します。

5.政府はメッセージを受信した後、提案(割り当てまたは供給)を実行します— TCは、XIDの管轄下にあるすべての支店トランザクションをディスパッチして、送信またはロールバック要求を完了します。

おすすめ

転載: blog.csdn.net/codedecentt/article/details/112998995