成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

四大分布式事務方案詳解

云計算 分布式
分布式事務是指涉及多個參與者,通常是不同的計算機節(jié)點或服務的事務操作,因此需要跨多個節(jié)點執(zhí)行事務操作。

分布式事務在分布式系統(tǒng)經常遇見,也是大廠經??疾斓膬热?,下面我就重點詳解四大主流分布式事務方案@mikechen

分布式事務

分布式事務是指涉及多個參與者,通常是不同的計算機節(jié)點或服務的事務操作,因此需要跨多個節(jié)點執(zhí)行事務操作。

如下圖所示:

圖片圖片

分布式事務需要確保所有相關操作要么全部成功執(zhí)行,要么全部回滾,以維護數據的一致性和可靠性。

分布式事務解決方案

常見的分布式事務解決方案,主要包含有以下四種:

兩階段提交協(xié)議

兩階段提交協(xié)議,Two-Phase Commit,簡稱是2PC,該協(xié)議包括:準備和提交兩個階段。

如下圖所示:

圖片圖片

1.準備階段

協(xié)調者向所有參與者發(fā)送準備請求,參與者執(zhí)行事務準備,并向協(xié)調者發(fā)送準備就緒的通知。

2.提交階段

如果所有參與者都準備就緒,則協(xié)調者向所有參與者發(fā)送提交請求,參與者執(zhí)行事務提交。

如果所有參與者都成功提交了事務,則事務成功完成。

否則,如果任何一個參與者失敗或者無法提交,則所有參與者都會被要求回滾(Rollback)事務,以保持一致性。

2PC的優(yōu)點是簡單易懂,并且在理想情況下能夠保證分布式系統(tǒng)中事務的原子性和一致性。

兩階段有如下幾個缺點:

1.阻塞問題

在2PC的準備階段,協(xié)調者需要等待所有參與者的響應,這可能會導致整個系統(tǒng)的阻塞。

2.單點故障

在2PC中,協(xié)調者是一個單點,它負責協(xié)調所有參與者的操作。

如果協(xié)調者發(fā)生故障,那么整個事務可能會無法完成,即使參與者的大部分已經準備好了,這種單點故障會影響系統(tǒng)的可用性和可靠性。

3.數據不一致性

2PC無法處理所有故障情況,例如:協(xié)調者和參與者之間的網絡分區(qū)或者通信失敗。

在這種情況下,可能會出現數據不一致性,一些參與者已經提交了事務,而另一些參與者卻未收到提交指令,導致系統(tǒng)狀態(tài)混亂。

三階段提交協(xié)議

三階段提交協(xié)議,Three-phase commit, 簡稱是3PC,3PC是2PC的改進版。

如下圖所示:

圖片圖片

3PC的主要思想是引入一個【預提交階段】,以減輕2PC中的阻塞問題,同時保持原子性和一致性。

3PC,主要分為三個階段:

1.預提交階段

協(xié)調者詢問參與者是否可以提交事務,并等待它們的響應,如果所有參與者都同意,則進入下一階段。

2.提交階段

協(xié)調者向所有參與者發(fā)送提交請求,要求它們提交事務,如果任何參與者無法提交,則執(zhí)行回滾。

3.確認階段

協(xié)調者向所有參與者發(fā)送確認消息,告知它們事務已經提交,這一階段用于解決2PC中的阻塞問題。

3PC相較于2PC的優(yōu)點是在第一階段引入了一個“詢問”階段,避免了2PC的直接準備階段可能出現的長時間阻塞問題。

兩階段與三階段對比,如下圖所示:

圖片圖片

補償事務

TCC(Try-Confirm-Cancel)是一種補償性事務處理模式,用于實現分布式系統(tǒng)中的一致性操作。

如下圖所示:

圖片圖片

TCC模式通過三個階段的操作來確保事務的一致性:嘗試(Try)、確認(Confirm)和取消(Cancel)。

1.嘗試階段(Try)

在嘗試階段,系統(tǒng)會嘗試執(zhí)行事務操作的所有必要檢查和準備工作,以確保事務能夠成功執(zhí)行。

這包括檢查資源的可用性、鎖定所需資源等,如果所有的檢查都通過,系統(tǒng)會記錄下所有的嘗試操作,但并不會實際執(zhí)行事務。

2.確認階段(Confirm)

在確認階段,系統(tǒng)會執(zhí)行事務操作,并且確認之前所做的嘗試操作。

如果事務操作成功執(zhí)行,系統(tǒng)將確認并提交事務,在這個階段,系統(tǒng)會持久化事務的結果,確保事務的最終執(zhí)行。

3.取消階段(Cancel)

如果在嘗試階段或者確認階段發(fā)生了錯誤或者異常情況,系統(tǒng)將進入取消階段。

在這個階段,系統(tǒng)會執(zhí)行逆向操作,取消之前嘗試階段所做的操作,這樣可以確保系統(tǒng)的狀態(tài)回滾到事務開始之前的狀態(tài),以維持數據的一致性。

TCC模式允許開發(fā)人員在每個階段都定義自己的業(yè)務邏輯和補償操作,以適應不同的業(yè)務需求。

但是,TCC模式要求開發(fā)人員在每個階段都顯式定義業(yè)務邏輯和補償操作,這增加了系統(tǒng)的復雜性和開發(fā)成本,需要設計和維護每個階段的邏輯,并確保它們之間的一致性。

最終一致性

最終一致性是分布式系統(tǒng)中的一種一致性模型,它允許數據副本在一段時間內的狀態(tài)之間存在不一致,但最終將會達到一致的狀態(tài)。

如下圖所示:

圖片圖片

在最終一致性模型中,節(jié)點之間的數據同步通常是通過消息傳遞來實現的。

當一個節(jié)點的數據發(fā)生變化時,它會通過異步方式將消息發(fā)送給其他節(jié)點,由于消息傳遞是異步的,因此節(jié)點之間的數據同步可能會有一定的延遲。

因此,最終一致性模型允許節(jié)點之間的數據副本,在一段時間內存在不一致,但最終會收斂到一致的狀態(tài)。

責任編輯:武曉燕 來源: mikechen的互聯(lián)網架構
相關推薦

2022-07-03 14:03:57

分布式Seata

2021-04-27 07:52:18

分布式事務系統(tǒng)

2023-11-06 13:15:32

分布式事務Seata

2019-10-10 09:16:34

Zookeeper架構分布式

2013-05-16 09:31:22

虛擬交換機分布式虛擬機

2022-06-13 10:42:21

分布式事務數據庫

2022-01-25 11:38:13

分布式數據中心數據中心

2025-04-29 04:00:00

分布式事務事務消息

2024-01-04 23:55:53

2024-04-19 16:12:23

2024-06-13 09:25:14

2019-11-04 08:38:45

分布式事務主流TCC

2022-07-10 20:24:48

Seata分布式事務

2022-06-27 08:21:05

Seata分布式事務微服務

2023-09-14 15:44:46

分布式事務數據存儲

2020-05-28 09:35:05

分布式事務方案

2017-07-26 15:08:05

大數據分布式事務

2022-06-21 08:27:22

Seata分布式事務

2023-03-05 18:23:38

分布式ID節(jié)點

2025-01-15 08:34:00

分布式事務服務
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 9porny九色视频自拍 | 欧美狠狠操| 日本成人中文字幕在线观看 | 一区二区三区在线播放 | 91精品免费 | 免费黄色av网站 | 亚洲午夜电影 | 国产成人精品一区二区三区在线 | 91看片网 | 欧美日韩专区 | 日日爱夜夜操 | 日韩免费av一区二区 | 91视频一区二区三区 | 日韩精品中文字幕在线 | 免费看啪啪网站 | 亚洲欧洲精品成人久久奇米网 | 成人av播放| 亚洲成人av一区二区 | 婷婷91| 午夜精品久久久 | 久久国品片 | 精品国产欧美在线 | 欧美福利| 欧美精品一区在线发布 | 青青草免费在线视频 | 视频三区 | 成年人黄色一级片 | 99免费| 午夜影院| 亚洲国产欧美在线人成 | 久久综合九九 | 国产专区在线 | 日日综合 | 麻豆精品国产91久久久久久 | www.99re| 欧美一区二区在线 | 久热电影 | 精品综合| 欧美激情网站 | 福利视频日韩 | 精品视频一区二区三区在线观看 |