TCCとは何ですか? TCC は Try、Confirm、Cancel の略です。これは、2007 年に発表された「分散トランザクションを超えた生活: 背教者の意見」と題された論文の中で、パット ヘランドによって初めて提案されました。 TCC構成TCCは3つの段階に分かれています
TCC 分散トランザクションには、従来の XA 分散トランザクションと同じように、次の 3 つの役割があります。
銀行間送金に似た業務を行う場合、送金 (TransOut) と入金 (TransIn) は異なるマイクロサービスに存在します。正常に完了した TCC トランザクションの一般的なシーケンス図は次のとおりです。 TCCネットワーク異常グローバル トランザクション プロセス全体を通じて、TCC ではさまざまなネットワーク異常が発生する可能性があります。通常は、空のロールバック、べき等性、中断などです。 TCC の異常は SAGA や信頼性の高いメッセージングなどのトランザクション モードに似ているため、この記事「分散トランザクションの 7 つの古典的なソリューション」のサブトランザクション バリアのセクションで、異常に対するすべてのソリューションについて説明します。 TCC実践次に、TCC取引の具体的な開発を行います。 現在 TCC で利用できるオープン ソース フレームワークは主に Java 言語であり、seata が最も代表的です。この例では nodejs を使用し、使用される分散トランザクション フレームワークは dtm です。これは分散トランザクションを非常にエレガントにサポートします。 TCCの構成について詳しく説明します。 次に、具体的なTry/Confirm/Cancel処理関数を書いてみましょう。
この時点で、各サブトランザクションの処理機能は正常であり、TCCトランザクションが開かれて分岐呼び出しが行われます。
この時点で、完全な TCC 分散トランザクションが書き込まれました。 完全な成功例を実行したい場合は、この例yedf/dtmcli-node-sampleを参照してください。実行は非常に簡単です。
TCC ロールバック銀行がユーザー2に金額を振り込む準備をしているときに、ユーザー2の口座に異常を発見し、失敗を返した場合はどうなりますか?トランザクション失敗の相互作用のタイミング図を示します。 これと成功した TCC の違いは、サブトランザクションが失敗を返すと、その後グローバル トランザクションがロールバックされ、各サブトランザクションのキャンセル操作が呼び出されて、グローバル トランザクションが完全にロールバックされるようになることです。 まとめこの記事では、TCC の理論的知識を紹介し、通常の正常な完了と正常なロールバックを含む、TCC トランザクションの記述プロセスの完全な例を示しました。この記事を通じて読者の皆様にはTCCについて深く理解して頂けたのではないかと思います。 分散トランザクションに関するより包括的な知識については、「分散トランザクションの最も古典的な 7 つのソリューション」を参照してください。 この記事で使用されている例は、yedf/dtm から抜粋したものです。複数のトランザクション モード (TCC、SAGA、XA) と、トランザクション メッセージのクロス言語サポートをサポートします。 golang、python、Java、PHP、nodejs などの言語のクライアントをサポートしています。各言語のSDKをご参照ください。サブトランザクション バリア機能を提供して、べき等性、中断、空の補償などの問題をエレガントに解決します。 この記事を読んだ後は、https://github.com/yedf/dtm プロジェクトにアクセスし、スターを付けてサポートしてください。 |
>>: 顧客がクラウドコンピューティングベンダーに知りたい2つのこと
機会の観点から見ると、クラウド コンピューティングは中国の産業が世界の先進国と真に同等になる唯一のチ...
月収10万元の起業の夢を実現するミニプログラム起業支援プラン背景画像を設定するには、backgrou...
Douban など、多くの WEB2.0 ウェブサイトは検索エンジン最適化をうまく行っています。本を...
これはトップレベルのSEO最適化テクニックに関する記事ではありません。SEOテクニックを学びたいだけ...
MicrosoftInternetExplorer402DocumentNotSpecified7....
序文現在、世界中の企業のクラウド化とデジタル化のプロセスは加速し続けており、コンテナやマイクロサービ...
共同購入は今年2度目の規模縮小となる可能性一連の再編を経て、1月末現在、共同購入サイトの数は3,79...
6月22日のBaiduのKステーションは皆さんも覚えていると思いますが、この時はサイトが大規模にKス...
QuickPacket は正式に登録された会社であり、数年にわたって運営されているため、逃げられる心...
オープンソース ソリューションの世界的な大手プロバイダーである Red Hat, Inc. (NYS...
(TechCrunchからのオリジナル記事、Sina Technologyによる翻訳) Pinter...
Zitian がブロックされた場合、Web サイトに損失を与えない解決策があります。同時に、何人の ...
ソフト記事マーケティングは、現在SEOにとって最も重要なツールとなっています。現在、多くの主流ウェブ...
国内の個人や法人のユーザーは、Alibaba Cloud の国際サービスに登録して使用することは一般...
外部リンクはまさに諸刃の剣です。外部リンクを上手に行う人は専門家であり、下手に行う人は不正行為者...