更新時間:2021-10-29 09:59:08 來源:動力節(jié)點 瀏覽769次
大家在Java學(xué)習(xí)的過程中不難發(fā)現(xiàn),微服務(wù)架構(gòu) (MSA) 已經(jīng)變得非常流行。然而,一個常見的問題是如何管理跨多個微服務(wù)的分布式事務(wù)。
當(dāng)微服務(wù)架構(gòu)將單體系統(tǒng)分解為自封裝的服務(wù)時,它可能會破壞事務(wù)。這意味著單體系統(tǒng)中的本地事務(wù) 現(xiàn)在被分配到多個服務(wù)中,這些服務(wù)將按順序調(diào)用。
這是一個使用本地事務(wù)的單片系統(tǒng)的客戶訂單示例:
在上面的客戶訂單示例中,如果用戶向單體系統(tǒng)發(fā)送Put Order 操作,系統(tǒng)將創(chuàng)建一個本地數(shù)據(jù)庫事務(wù),該事務(wù)處理多個數(shù)據(jù)庫表。如果任何步驟失敗,事務(wù)可以 回滾。這被稱為 ACID(原子性、一致性、隔離性、持久性),由數(shù)據(jù)庫系統(tǒng)保證。
當(dāng)我們分解這個系統(tǒng)時,我們創(chuàng)建了 CustomerMicroservice和 OrderMicroservice,它們有單獨(dú)的數(shù)據(jù)庫。這是一個帶有微服務(wù)的客戶訂單示例:
當(dāng)用戶發(fā)出 Put Order請求時,兩個微服務(wù)都將被調(diào)用以將更改應(yīng)用到它們自己的數(shù)據(jù)庫中。因為事務(wù)現(xiàn)在跨多個數(shù)據(jù)庫,所以現(xiàn)在被認(rèn)為是分布式事務(wù)。
以上就是關(guān)于“微服務(wù)事務(wù):微服務(wù)架構(gòu)中分布式事務(wù)的模式”的介紹,大家若想了解更多相關(guān)知識,不妨來關(guān)注一下動力節(jié)點的Java在線學(xué)習(xí),里面的內(nèi)容豐富,由淺到深,通俗易懂,適合小白學(xué)習(xí),希望對大家能夠有所幫助。
初級 202925
初級 203221
初級 202629
初級 203743