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