<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                >[info] TCC-基于業務接口 ![](https://img.kancloud.cn/5f/e6/5fe60a080046a30b80950fbfcd9450e6_1032x606.png) 說起分布式事務的概念,不少人都會搞混淆,似乎好像分布式事務就是TCC。實際上TCC與2PC、3PC一樣,只是分布式事務的一種實現方案而已。 ***** TCC(**Try-Confirm-Cancel**)又稱補償事務。其核心思想是:"針對每個操作都要注冊一個與其對應的確認和補償(撤銷操作)"。它分為三個操作: * **Try階段:** 主要是對業務系統做檢測及資源預留。 * **Confirm階段:** 確認執行業務操作。 通過調用確認接口。 * **Cancel階段:** 取消執行業務操作。 通過調用取消接口。 ![](https://img.kancloud.cn/b2/52/b252f2a8075342b475c6628d37a65c56_986x434.png) ***** TCC事務的處理流程與2PC兩階段提交類似,不過2PC通常都是在跨庫的DB層面,而TCC本質上就是一個應用層面的2PC,需要通過業務邏輯來實現。這種分布式事務的實現方式的優勢在于,可以讓**應用自己定義數據庫操作的粒度,使得降低鎖沖突、提高吞吐量成為可能**。 ***** **不足之處:** 1. 在于對應用的侵入性非常強,業務邏輯的每個分支都需要實現try、confirm、cancel三個操作。此外,其實現難度也比較大,需要按照網絡狀態、系統故障等不同的失敗原因實現不同的回滾策略。為了滿足一致性的要求,confirm和cancel接口還必須實現冪等。 2. 開發量很大。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看