2018-09-21

Spring Cloud 分布式事務(wù)管理

在微服務(wù)如火如荼的情況下,越來越多的項目開始嘗試改造成微服務(wù)架構(gòu),微服務(wù)即帶來了項目開發(fā)的方便性,又提高了運維難度以及網(wǎng)絡(luò)不可靠的概率.

Spring Cloud 分布式事務(wù)管理

單體式架構(gòu)

微服務(wù)架構(gòu)

優(yōu)點:

缺點:

分布式事務(wù)的引入

分布式事務(wù)解決方案

基于XA協(xié)議的兩階段提交

消息事務(wù)+最終一致性

TCC編程模式

具體實現(xiàn)

LCN

ByteTCC

在說微服務(wù)的優(yōu)缺點時,有對比才會更加明顯,首先說一下單體式結(jié)構(gòu)

單體式架構(gòu)

在單體式架構(gòu)中,系統(tǒng)通常采用分層架構(gòu)模式(MVC),持久化層、表示層,業(yè)務(wù)邏輯層。架構(gòu)主要存在以下問題:

1、系統(tǒng)內(nèi)部互相訪問,耦合緊密導(dǎo)致難以維護(hù);

2、各業(yè)務(wù)領(lǐng)域需要采用相同的技術(shù)棧,難以快速應(yīng)用新技術(shù)(例如使用SSH很難向SSM改造);

3、對系統(tǒng)的任何修改都必須整個系統(tǒng)一起重新部署/升級;

4、在系統(tǒng)負(fù)載增加時,難以進(jìn)行水平擴展;

5、當(dāng)系統(tǒng)中一處出現(xiàn)問題,會影響整個系統(tǒng);

為了克服以上缺點,微服務(wù)架構(gòu)應(yīng)運而生。微服務(wù),又叫微服務(wù)架構(gòu)。微服務(wù)就是一些協(xié)同工作的小而自治的服務(wù).

微服務(wù)架構(gòu)

優(yōu)點:

1. 技術(shù)異構(gòu)性

在不同的服務(wù)中,可以使用不同的技術(shù)來各自開發(fā),只要保證服務(wù)間能相互協(xié)作即可

2. 彈性

當(dāng)微服務(wù)中的某一個服務(wù)不可用時,不會影響整個系統(tǒng),只會影響相關(guān)功能不可用

3. 擴展

易于擴展,使用小的多個服務(wù),更加易于擴展新的功能

4. 簡化部署

某個服務(wù)的更新部署,不需要重新部署整個應(yīng)用

5. 可組合

通過組合多個服務(wù),可以提供一些新的功能

6. 可替代

因為每個微服務(wù)都比較小,重新實現(xiàn)某一個服務(wù)或者直接刪除該服務(wù)都是可操作的

缺點:

1. 復(fù)雜度高

微服務(wù)間通過REST、RPC等形式交互,相對于單體模式,需要考慮被調(diào)用方故障、過載、消息丟失等各種異常情況,代碼邏輯更加復(fù)雜。

對于微服務(wù)間的事務(wù)性操作,因為不同的微服務(wù)采用了不同的數(shù)據(jù)庫,將無法利用數(shù)據(jù)庫本身的事務(wù)機制保證一致性,需要引入二階段提交等技術(shù)。

同時,在微服務(wù)間存在少部分共用功能但又無法提取成微服務(wù)時,各個微服務(wù)對于這部分功能通常需要重復(fù)開發(fā),或至少要做代碼復(fù)制,以避免微服務(wù)間的耦合,增加了開發(fā)成本。

2. 運維復(fù)雜

在采用微服務(wù)架構(gòu)時,系統(tǒng)由多個獨立運行的微服務(wù)構(gòu)成,需要一個設(shè)計良好的監(jiān)控系統(tǒng)對各個微服務(wù)的運行狀態(tài)進(jìn)行監(jiān)控。運維人員需要對系統(tǒng)有細(xì)致的了解才對夠更好的運維系統(tǒng)。

3. 影響性能

相對于單體架構(gòu),微服務(wù)的間通過REST、RPC等形式進(jìn)行交互,通信的時延會受到較大的影響。

分布式事務(wù)的引入

正如上面所說

對于微服務(wù)間的事務(wù)性操作,因為不同的微服務(wù)采用了不同的數(shù)據(jù)庫,將無法利用數(shù)據(jù)庫本身的事務(wù)機制保證一致性,需要引入二階段提交等技術(shù)。

在單體項目中,很容易做到事務(wù)控制,而在多個服務(wù)之間很難實現(xiàn)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容