分佈式事務「2020年」必學

你是否學習了微服務架構Spring CloudDubbo,但是分佈式事務卻沒有了解過?

你是否嘗試學習了分佈式的概念,但是學習完卻還不知所以然,一頭霧水?

       你是否嘗試使用了TXLCN、Fescar/Seata,但是卻不知道它們的原理?

 

       如果你存在類似的疑問,那麼你來這裏就對了。

你不努力讓自己過上想要的生活, 以後就會用大把的時間去應付自己不想要的生活。

       記得幾年前 ,那時候微服務Spring Cloud也剛出來沒多久,我有幸,在早期就瞭解了Spring Cloud,學習了Spring Cloud中的各個組件:註冊中心Eureka、服務消費Ribbon、Feign、網關Zuul/Gateway、配置中心config等等。

       學習完之後,感覺自己都膨脹了,也湊巧有一個面試機會,也是就去挑戰了一下。在問到微服務架構相關的都回答的比較順暢,但是在問到:微服務中的分佈式事務是怎麼解決的,瞬間就蒙圈了,在面試中直接回答不會,也不好,於是乎,就回答說:這塊是別的同事設計的,自己不是很清楚怎麼落地實施的。很明顯這樣的回答,自己都不滿意,所以這次面試,也就不了而終了。

       知之爲知之,不知爲不知,是知也。對於不懂的知識,就要敢於發問,不懂裝懂,似懂非懂,都是在無形中,讓自己退步了。

 

1.01和0.99,到底相差多少。表面看起來只是相差了0.02,實在是微乎其微,不足道哉。但是當與365乘方後,結果卻是天差地別。

       對於分佈式事務,如果要學習的話,那麼都要學習什麼呢?

基礎概念-初入江湖

       磨刀不誤砍柴工,要對於分佈式具體的方案有一個透徹的瞭解,那麼基礎概念就是你第一步要了解的,一開始的時候,都需要了解什麼呢?

(1)事務的基本概念: 什麼是事務? 本地事務?數據庫事務?分佈式事務?

(2)事務的四大特性ACID:事務的四大特性、四大特性在數據庫層面是怎麼體現的。

(3)分佈式產生的場景。

(4)分佈式事務的理論: CAP理論、BASE理論。

 

2PC/3PC-征戰沙場

       有了基本理論知識的加持,就可以開始學習具體的方案了,分佈式提出的方案一就是兩階段提交2PC,那麼對於TCC要學習什麼呢?

(1)概念:要了解什麼是2PC/3PC

(2)方案原理:XA方案、Seata方案、TXLCN的lcn方案。

(3)實戰:對於方案還是要進行實際操作下,纔能有一個感官的認知。

 

TCC-勇者無敵

       對於2PC中的方案的,是在實際項目還是使用的比較多的,但是如果碰到不同數據源的問題,那麼2PC可能就無能爲力了(2PC的分佈式事務解決方案大多依賴於本地事務),那麼如果在項目中有mysql、redis、mongodb的話,那麼2PC就無法控制這個流程的分佈式事務了,但是TCC方案就是一種不太依賴本地事務的方案。

(1)概念: 要了解什麼是TCC ?

(2)TCCC的異常處理:冪等性、空回滾、懸掛的產生原因以及怎麼處理。

(3)TCC的常用框架:瞭解TCC的常用框架,如何使用TXLCN的TCC進行實戰。

 

可靠消息最終一致性-所向披靡

       上面的方案基本上都是使用同步的思路,就是整個事務在同一個請求當中,A服務通過遠程調用B服務,A服務需要B服務執行完成之後才能進行返回,有些流程中,我們可能不關心當下下個服務的執行情況,比如用戶註冊送積分。

送積分的這個事情就可以使用異步的方式進行操作,我們的核心就是確保用戶能夠註冊成功,減少用戶的等待時間,那麼我們就可以:用戶填寫完信息,發起註冊流程,註冊流程在異步通知積分服務進行積分操作,在這個異步的過程中,要確保消息能夠送達到積分服務,也要確保積分服務能夠接收到消息,這就是可靠消息最終一致性要解決的問題。

那在學習可靠消息最終一致性的解決方案的話,都需要學習什麼呢?

(1)概念:瞭解清楚什麼是可靠消息最終一致性。

(2)可靠消息最終一致性的方案:通過本地消息表和RocketMQ進行可靠消息最終最終一致性的方案有什麼區別,以及怎麼使用RocketMQ進行實戰。

 

最大努力通知-叱吒風雲

       在學會了可靠消息最終一致性之後,在學習最大努力通知,那麼轉換思路問題了,只要稍微轉換下可靠消息最終一致性的代碼就是最大努力通知了。

 

       以上這些就是要學習分佈式事務要了解的技術知識,一方面是自己學習,逐個攻克各個知識點,另外一方面就是站在前人的肩膀上進行學習。

       博主對於這塊知識也錄製了相應的課程,如果有需要的可以進行報名學習,感謝大家的支持。

知識大綱

 

使用技術

爲自己的人生負責,爲自己的夢想買單,快點進「閱讀原文」上課了哦~

 

人生捷徑傳送門http://t.cn/A6ZaBnIr

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章