<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          給女朋友的一次轉(zhuǎn)賬,引發(fā)了我對(duì)分布式事務(wù)的深刻思考!

          共 1751字,需瀏覽 4分鐘

           ·

          2020-12-09 00:39


          昨天終于發(fā)工資了,第一反應(yīng)就是想給女朋友一個(gè)驚喜,打開銀行的APP工資轉(zhuǎn)錢給女朋友,不料,出現(xiàn)了這樣的提示界面:

          過了一會(huì),APP又提示這樣的錯(cuò)誤:
          剛才明明已經(jīng)扣款了,卻提示轉(zhuǎn)賬失敗,我開始焦慮了,還好,不一會(huì)兒,收到銀行的消息,轉(zhuǎn)賬失敗的錢,已經(jīng)退還給我了。為啥卡里扣錢那么迅速,而對(duì)方卻要幾秒才能到賬?并且轉(zhuǎn)賬失敗后,扣除的錢還能及時(shí)的返還到我的卡里?萬一錢返還失敗怎么辦?又或者我轉(zhuǎn)一次錢,對(duì)方卻收到了兩次轉(zhuǎn)賬的申請(qǐng)又該如何?帶著這些問題,我腦海中浮現(xiàn)出“分布式事務(wù)”這個(gè)概念。


          先說事務(wù),我們將對(duì)數(shù)據(jù)庫的單個(gè)或多個(gè)操作序列的執(zhí)行定義為事務(wù),這些操作要么全做,要么全不做,是一個(gè)不可分割對(duì)工作單位

          事務(wù)擁有以下四個(gè)特性,習(xí)慣上被稱為ACID特性:
          1. 原子性:事務(wù)作為一個(gè)整體被執(zhí)行,包含在其中的對(duì)數(shù)據(jù)庫的操作要么全部被執(zhí)行,要么都不執(zhí)行。
          2. 一致性:事務(wù)應(yīng)確保數(shù)據(jù)庫的狀態(tài)從一個(gè)一致狀態(tài)轉(zhuǎn)變?yōu)榱硪粋€(gè)一致狀態(tài)。一致狀態(tài)是指數(shù)據(jù)庫中的數(shù)據(jù)應(yīng)滿足完整性約束。除此之外,一致性還有另外一層語義,就是事務(wù)的中間狀態(tài)不能被觀察到。
          3. 隔離性:多個(gè)事務(wù)并發(fā)執(zhí)行時(shí),一個(gè)事務(wù)的執(zhí)行不應(yīng)影響其他事務(wù)的執(zhí)行,如同只有這一個(gè)操作在被數(shù)據(jù)庫所執(zhí)行一樣。
          4. 持久性:已被提交的事務(wù)對(duì)數(shù)據(jù)庫的修改應(yīng)該永久保存在數(shù)據(jù)庫中。在事務(wù)結(jié)束時(shí),此操作將不可逆轉(zhuǎn)。
          那什么是分布式事務(wù)呢?分布式事務(wù)與單機(jī)事務(wù)一樣都是由一組操作序列組成,不同的是單機(jī)事務(wù)只是在單機(jī)上執(zhí)行,而分布式事務(wù)則是在多臺(tái)機(jī)器上執(zhí)行。分布式事務(wù)執(zhí)行的過程中,要比單機(jī)事務(wù)復(fù)雜的多,因?yàn)榉植际绞聞?wù)除了要保證各個(gè)子事務(wù)的ACID特性外,還需要對(duì)這些子事務(wù)進(jìn)行協(xié)調(diào),決定各個(gè)子事務(wù)的提交與回滾,以保證全局事務(wù)的ACID特性。


          對(duì)于分布式事務(wù)來講,全局事務(wù)的正確執(zhí)行依賴各個(gè)子事務(wù)的正確執(zhí)行。只有當(dāng)各個(gè)局部操作都正確執(zhí)行后,全局事務(wù)才可以提交,當(dāng)發(fā)生異常要回滾全局事務(wù)時(shí),所有局部操作也應(yīng)回滾。因此,所有子事務(wù)均正確提交是分布式事務(wù)提交的前提。為實(shí)現(xiàn)分布式事務(wù)的提交,普遍采用兩階段提交協(xié)議(2 Phase Commit),簡稱2PC協(xié)議。

          為什么需要學(xué)習(xí)分布式事務(wù)?因?yàn)榉植际绞聞?wù)可以解決這幾個(gè)問題。第一個(gè)是業(yè)務(wù)的并發(fā)要求非常高,對(duì)應(yīng)的業(yè)務(wù)操作不能在同一個(gè)數(shù)據(jù)庫中完成,也就是說不能通過數(shù)據(jù)庫本身的事務(wù)實(shí)現(xiàn)。第二個(gè)是資源的分布問題(比較常見),有的業(yè)務(wù)資源是部門A負(fù)責(zé)的,有的業(yè)務(wù)資源是部門B負(fù)責(zé)的,這樣的情況下怎么實(shí)現(xiàn)一個(gè)事務(wù)。第三個(gè)是大時(shí)間跨度的問題,完成一個(gè)事務(wù)需要很長很長時(shí)間,這種情況怎么處理?

          分布式事務(wù)不僅是處理高并發(fā)以及數(shù)據(jù)同步的利器,也是.NET高級(jí)開發(fā)/架構(gòu)師必備技能,12月8日~10日,資深架構(gòu)師Tony老師,將開啟《分布式事務(wù)實(shí)戰(zhàn)》專題,課程以實(shí)戰(zhàn)為主,案例均來自于JD項(xiàng)目真實(shí)場(chǎng)景,課程全網(wǎng)首發(fā),僅開放了200個(gè)學(xué)習(xí)名額,本號(hào)粉絲,可白嫖免費(fèi)掃碼加入!

          重要:
          課程安排

          DAY1:同步分布式事務(wù)解決方案Saga
          1、分布式事務(wù)核心--Cap理論
          2、分布式事務(wù)有哪些應(yīng)用場(chǎng)景
          3、同步分布式事務(wù)Tcc和Saga差別在哪里
          4、分布式事務(wù)Saga在.Net5微服務(wù)中如何落地
          5、Saga分布式事務(wù)如何保證高并發(fā)/高可用特性

          DAY2:異步分布式事務(wù)解決方案本地消息表
          1、異步分布式事務(wù)到底是什么
          2、哪些場(chǎng)景會(huì)應(yīng)用異步分布式事務(wù)
          3、Saga方案和本地消息表方案本質(zhì)區(qū)別
          4、.Net5微服務(wù)中如何落地實(shí)現(xiàn)本息消息表
          5、本地消息表方案落地后有哪些缺陷值得注意

          DAY3:數(shù)據(jù)庫分布式事務(wù)解決方案2PC/3PC
          1、什么是剛性事務(wù)2PC/3PC
          2、分布式事務(wù)2PC和3PC之間根本聯(lián)系和區(qū)別
          3、2PC/3PC核心應(yīng)用時(shí)機(jī)
          4、.Net5微服務(wù)中2PC/3PC如何進(jìn)行最佳實(shí)踐
          5、2PC/3PC本質(zhì)缺陷在哪里?如何解決?
          6、2PC/3PC能夠帶來哪些擴(kuò)展與啟示




          長按掃碼,免費(fèi)入群學(xué)習(xí)



          如遇掃碼失敗,請(qǐng)?zhí)砑酉路轿⑿?/span>
          微信號(hào):ruanmou_xy

          超多資料,免費(fèi)領(lǐng)取







          瀏覽 44
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  成人视频大香蕉 | 四虎影库在线视频 | 操逼小黄片 | 大香蕉网成人电影 | 日本韩国欧美性生话视频 |