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

分布式基礎(chǔ),啥是兩階段提交?

開發(fā) 開發(fā)工具 分布式
上一篇《分布式事務(wù),原來可以這么玩?》引起了不少討論,后續(xù)準(zhǔn)備開一個新系列,講一講分布式的東西,今天就從相對容易理解的“兩階段提交”談起。

上一篇《分布式事務(wù),原來可以這么玩?》引起了不少討論,后續(xù)準(zhǔn)備開一個新系列,講一講分布式的東西,今天就從相對容易理解的“兩階段提交”談起。

畫外音:給自己定了一個目標(biāo),用通俗的語言把Paxos講懂。

[[247750]]

分布式事務(wù)為什么難?

在分布式環(huán)境下,每個節(jié)點都可以知曉自己操作的成功或者失敗,卻無法知道其他節(jié)點操作的成功或失敗。當(dāng)一個分布式事務(wù)跨多個節(jié)點時,保持事務(wù)的原子性與一致性,是非常困難的。

什么是兩階段提交?

二階段提交2PC(Two phase Commit)是一種,在分布式環(huán)境下,所有節(jié)點進行事務(wù)提交,保持一致性的算法。

它通過引入一個協(xié)調(diào)者(Coordinator)來統(tǒng)一掌控所有參與者(Participant)的操作結(jié)果,并指示它們是否要把操作結(jié)果進行真正的提交(commit)或者回滾(rollback)。

為什么叫兩階段提交?

顧名思義,2PC分為兩個階段:

  • 投票階段(voting phase):參與者通知協(xié)調(diào)者,協(xié)調(diào)者反饋結(jié)果;

畫外音:可以理解為單機事務(wù)的trx.exec()。

  • 提交階段(commit phase):收到參與者的反饋后,協(xié)調(diào)者再向參與者發(fā)出通知,根據(jù)反饋情況決定各參與者是否要提交還是回滾;

畫外音:可以理解為單機事務(wù)的trx.commit() 或者 trx.rollback()。

舉個栗子:

甲乙丙丁四人要組織一個會議,需要確定會議時間,不妨設(shè)甲是協(xié)調(diào)者,乙丙丁是參與者。

投票階段

(1)甲發(fā)郵件給乙丙丁,通知明天十點開會,詢問是否有時間;

(2)乙回復(fù)有時間;

(3)丙回復(fù)有時間;

(4)丁遲遲不回復(fù),此時對于這個事務(wù),甲乙丙均處于阻塞狀態(tài),算法無法繼續(xù)進行;

提交階段

(1)協(xié)調(diào)者甲將收集到的結(jié)果通知給乙丙丁;

畫外音:什么時候通知,以及反饋結(jié)果如何,在此例中取決與丁的時間與決定,

  • 假設(shè)丁回復(fù)有時間,則通知commit;
  • 假設(shè)丁回復(fù)沒有時間,則通知rollback;

(2)乙收到通知,并ack協(xié)調(diào)者;

(3)丙收到通知,并ack協(xié)調(diào)者;

(4)丁收到通知,并ack協(xié)調(diào)者;

畫外音:如果甲沒有收到所有ack,則分布式事務(wù)遲遲不會結(jié)束,下一輪投票則遲遲不會開展。

兩階段提交的缺陷?

2PC在執(zhí)行過程中,所有節(jié)點都處于阻塞狀態(tài),所有節(jié)點所持有的資源(例如數(shù)據(jù)庫數(shù)據(jù),本地文件等)都處于封鎖狀態(tài)。

典型情況為:

  • 某一個參與者回復(fù)消息之前,所有參與者以及協(xié)調(diào)者都處于阻塞狀態(tài);
  • 在協(xié)調(diào)者發(fā)出消息之前,所有參與者都處于阻塞狀態(tài);

另外,如有協(xié)調(diào)者或者某個參與者出現(xiàn)了崩潰,為了避免整個算法處于一個完全阻塞狀態(tài),往往需要借助超時機制來將算法繼續(xù)向前推進。

總的來說,2PC是一種比較保守并且低效的算法,分布式事務(wù)真的很難做。

【本文為51CTO專欄作者“58沈劍”原創(chuàng)稿件,轉(zhuǎn)載請聯(lián)系原作者】

戳這里,看該作者更多好文

責(zé)任編輯:趙寧寧 來源: 51CTO專欄
相關(guān)推薦

2025-06-10 08:02:15

2023-07-26 09:24:03

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

2024-01-26 08:18:03

2025-05-16 07:46:11

分布式事務(wù)服務(wù)

2022-03-28 10:44:51

MySQL日志存儲

2024-05-21 14:12:07

2023-11-29 07:47:58

DDIA兩階段提交

2024-03-26 16:24:46

分布式事務(wù)2PC3PC

2023-12-05 09:33:08

分布式事務(wù)

2010-04-22 15:11:14

2024-12-06 07:10:00

2022-12-21 19:04:35

InnoDBMySQL

2025-06-19 08:03:03

2019-12-13 08:00:00

分布式SQL數(shù)據(jù)庫架構(gòu)

2017-08-30 18:15:54

MySql

2023-10-24 08:25:20

TCC模式事務(wù)

2023-01-18 10:35:49

MySQL數(shù)據(jù)庫

2016-01-12 14:59:40

分布式存儲分布式存儲架構(gòu)

2020-12-14 14:24:07

CAP分布式數(shù)據(jù)一致性

2009-06-12 11:42:28

EJB分布式
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 日韩资源| 中文字幕免费 | h在线播放| 一级特黄色毛片 | 欧美综合在线视频 | 国产日韩精品一区 | 日韩欧美在线观看 | 亚洲精品欧美 | 9色网站| 秋霞影院一区二区 | 国产人久久人人人人爽 | 一区二区三区四区毛片 | 日本精品视频在线观看 | 精品国产乱码久久久久久牛牛 | 中国av在线免费观看 | 伊人网伊人 | 久色视频在线观看 | 91看片网址| www.99热| 一级黄a视频| 欧洲一区视频 | 日本 欧美 国产 | 毛片一级片 | 高清一区二区三区 | 国产清纯白嫩初高生在线播放视频 | 精品美女 | 一区二区三区国产视频 | www.久久久久久久久久久 | 日韩成人免费av | 成人在线视频观看 | 午夜精品一区二区三区在线观看 | 狠狠躁夜夜躁人人爽天天高潮 | a在线观看免费 | 国产精品美女在线观看 | 二区在线视频 | 国产免费a视频 | 久久久免费少妇高潮毛片 | 91精品欧美久久久久久久 | 国产玖玖 | 波多野结衣中文字幕一区二区三区 | 中文字幕亚洲视频 |