福利環(huán)節(jié):送5本分布式技術書籍
隨著互聯(lián)網(wǎng)的不斷發(fā)展,互聯(lián)網(wǎng)企業(yè)的業(yè)務在飛速變化,推動著系統(tǒng)架構也在不斷地發(fā)生變化。總體來說,系統(tǒng)架構大致經(jīng)歷了單體應用架構→垂直應用架構→分布式架構→SOA架構→微服務架構的演變。
如今微服務技術越來越成熟,很多企業(yè)都采用微服務架構來支撐內部及對外的業(yè)務,尤其是在高并發(fā)大流量的電商業(yè)務場景下,微服務更是企業(yè)首選的架構模式。
微服務的普及也帶來了新的問題。原本單一的應用架構只需要連接一臺數(shù)據(jù)庫實例即可完成所有業(yè)務操作,業(yè)務方法的邏輯在一個事務中即可完成,涉及的所有數(shù)據(jù)庫操作要么全部提交,要么全部不提交,很容易實現(xiàn)數(shù)據(jù)的一致性。
而在微服務架構下,原本單一的應用被拆分為一個個很小的服務,每個服務都有其獨立的業(yè)務和數(shù)據(jù)庫,服務與服務之間的交互通過接口或者遠程過程調用(Remote Procedure Call,RPC)的方式進行,此時,服務與服務之間的數(shù)據(jù)一致性問題就變得棘手了。
因為微服務這種架構模式本質上就是多個應用連接多個數(shù)據(jù)庫共同完成一組業(yè)務邏輯,所以數(shù)據(jù)一致性問題就凸顯出來了。除此之外,多個應用連接同一個數(shù)據(jù)庫和單個應用連接多個數(shù)據(jù)庫也會產生數(shù)據(jù)一致性問題。可以這么說,在互聯(lián)網(wǎng)行業(yè),任何企業(yè)都會或多或少地遇到數(shù)據(jù)一致性問題。業(yè)界將這種數(shù)據(jù)一致性問題稱為分布式事務問題。
為了解決分布式事務問題,業(yè)界提出了一些著名的理論,比如CAP理論和Base理論,并針對這些理論提出了很多解決方案,比如解決強一致性分布式事務的DTP模型、XA事務、2PC模型、3PC模型,解決最終一致性分布式事務的TCC、可靠消息最終一致性、最大努力通知型等模型。不少企業(yè)和開源組織,甚至個人都基于這些模型實現(xiàn)了比較通用的分布式事務框架。
深入掌握分布式事務已然成為互聯(lián)網(wǎng)行業(yè)中每個中高級開發(fā)人員和架構師必須掌握的技能,而熟練掌握分布式事務產生的各種場景和解決方案也成為各大互聯(lián)網(wǎng)公司對應聘者的基本要求。
《深入理解分布式事務:原理與實戰(zhàn)》從實際需求出發(fā),全面且細致地介紹了有關分布式事務的基礎知識、解決方案、實現(xiàn)原理和源碼實戰(zhàn)。
5?個維度全面展開20?位大廠專家力薦10?個框架的分布式事務實現(xiàn)6?種通用分布式事務解決方案8?種分布式事務原理解析4?個生產環(huán)境綜合案例100?余幅原理圖和流程圖
1本書特色
5個維度展開,分布式事務從0到100
NO.1 基礎知識維度事務和分布式事務的概念和基礎知識,MySQL和Spring的事務實現(xiàn)原理
NO.2 解決方案維度強一致性分布式事務解決方案、Z終一致性分布式事務解決方案
NO.3 原理分析維度XA強一致性分布式事務、TCC分布式事務、可靠消息Z終一致性分布式事務、Z大努力通知型分布式事務的原理
NO.4 源碼實現(xiàn)維度Atomikos,Narayana框架實現(xiàn)XA強一致性分布式事務解決方案,Hmily分布式事務框架實現(xiàn)TCC分布式事務
NO.5 工程實踐維度XA強一致性分布式事務、TCC分布式事務、可靠消息Z終一致性分布式事務和Z大努力通知型分布式事務的工程實踐方法
大量圖解和開發(fā)案例,學習事半功倍
為了方便讀者理解,每章根據(jù)需要配有相關的原理圖和流程圖,并提供完整的實戰(zhàn)案例源碼。書中的每個解決方案都經(jīng)過了高并發(fā)大流量生產環(huán)境的考驗,可以直接拿來解決實際生產環(huán)境中的分布式事務問題。
圖 1-2 本地事務的執(zhí)行流程
圖 8-4 XA 分布式事務流程圖
圖 10-3 獨立消息服務實現(xiàn)的分布式事務
讀者可以參考本書的案例進行學習,并運行本書的案例代碼,以更深入地理解和掌握分布式事務。這些案例代碼和圖解的draw.io源文件收錄于隨書資料里,讀者可以從下面的鏈接獲取相關內容。GitHub:https://github.com/dromara/distribute-transaction。Gitee:https://gitee.com/dromara/distribute-transaction。
2本書主要內容
本書分為如下四個部分。
第一部分 分布式事務基礎(第1~5章)首先介紹事務的基本概念,然后介紹MySQL事務和Spring事務的實現(xiàn)原理,最后介紹分布式事務的基本概念和理論知識。
第二部分 分布式事務解決方案(第6~7章)以大量圖解的方式詳細介紹了分布式事務的各種解決方案,包括強一致性分布式事務解決方案和最終一致性分布式事務解決方案。
第三部分 分布式事務原理(第8~11章)以大量圖解的方式詳細講解了分布式事務的原理,包括XA強一致性分布式事務、TCC分布式事務、可靠消息最終一致性分布式事務和最大努力通知型分布式事務。
第四部分 分布式事務源碼與實戰(zhàn)(第12~17章)首先詳細講解了業(yè)界比較知名的ShardingSphere框架實現(xiàn)XA分布式事務的源碼,然后詳細剖析了Dromara開源社區(qū)的Hmily分布式事務框架實現(xiàn)TCC分布式事務的源碼,最后分別對XA強一致性分布式事務、TCC分布式事務、可靠消息最終一致性分布式事務和最大努力通知型分布式事務進行了實戰(zhàn)案例講解。
3讀者對象
本書適合以下幾類讀者閱讀:
- 互聯(lián)網(wǎng)從業(yè)者,如中高級開發(fā)人員、架構師、技術經(jīng)理、技術專家;
- 需要系統(tǒng)學習分布式事務的開發(fā)人員;
- 需要提高分布式事務開發(fā)水平的人員;
- 需要時常查閱分布式事務技術資料和開發(fā)案例的人員。
4作者簡介
肖宇
分布式事務架構專家Apache ShenYu(incubating)網(wǎng)關創(chuàng)始人,Dromara開源組織創(chuàng)始人,Hmily、RainCat、Myth等分布式事務框架的作者。Apache ShardingSphere Committer。熱愛開源,追求優(yōu)雅代碼。有豐富的微服務架構經(jīng)驗,尤其擅長微服務技術棧中的分布式事務、微服務架構,分布式數(shù)據(jù)庫、API網(wǎng)關等解決方案。?冰河互聯(lián)網(wǎng)高級技術專家、MySQL技術專家、分布式事務架構專家。多年來,一直致力于分布式系統(tǒng)架構、微服務、分布式數(shù)據(jù)庫、分布式事務與大數(shù)據(jù)技術的研究,在高并發(fā)、高可用、高可擴展性、高可維護性和大數(shù)據(jù)等領域擁有豐富的架構經(jīng)驗。可視化多數(shù)據(jù)源數(shù)據(jù)異構中間件mykit-data作者;《海量數(shù)據(jù)處理與大數(shù)據(jù)技術實戰(zhàn)》和《MySQL技術大全:開發(fā)、優(yōu)化與運維實戰(zhàn)》作者;“冰河技術”微信公眾號維護者。
5專家推薦
來自京東、阿里、騰訊、螞蟻金服、滴滴、餓了么、58集團、IBM等互聯(lián)網(wǎng)大廠及Apache軟件基金會的近20位專家高口碑力薦。
本書從分布式的原理和實踐兩個維度出發(fā),立體而全面地講解了分布式事務的基礎理論、主流數(shù)據(jù)庫對分布式事務的支持情況、主流分布式框架對分布式事務的實現(xiàn),并重點解析了Hmily開源分布式事務框架項目的核心源碼,讓讀者可以從不同維度了解分布式事務的理論與實現(xiàn)。我衷心希望看到這本書的讀者能有巨大的收獲,也希望肖宇持之以恒,安心編碼,熱心著書。
——劉啟榮 京東科技技術總監(jiān)本書結合了作者在多個開源分布式事務框架項目上積累的經(jīng)驗,詳細且全面地闡述了分布式事務的概念、實現(xiàn)原理和最佳實踐。建議對這方面感興趣的讀者閱讀。——史少鋒 Apache Member、Apache Kylin PMC主席
本書結合了作者在多個開源分布式事務框架項目上積累的經(jīng)驗,詳細且全面地闡述了分布式事務的概念、實現(xiàn)原理和最佳實踐。建議對這方面感興趣的讀者閱讀?!飞黉h Apache Member、Apache Kylin PMC主席本書源于企業(yè)級真實實踐,覆蓋完整的分布式事務解決方案。書中通過企業(yè)級真實案例,深入淺出地剖析分布式事務的架構設計,是分布式事務領域的實踐類好書,