精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

漫話:如何給女朋友解釋什么是3PC?

網絡 通信技術
一頓愉快的小火鍋之后,悠哉悠哉的回家了,于是只能開始新一輪的家庭科普了。

 

 

一頓愉快的小火鍋之后,悠哉悠哉的回家了,于是只能開始新一輪的家庭科普了。

分布式一致性

不過還是要簡單交代下背景。我們以飯店的后廚為例介紹過:

隨著飯店的發展,慢慢的從只有一個廚師演變成有多個廚師,進而演變成有洗菜工、配菜師、廚師等多個職位。

當有了多種分工之后,就勢必需要協調這些人之間的合作。

比如餐廳客人點了一份番茄炒蛋,然后后廚開始準備起來,洗菜工開始洗西紅柿,配菜師開始準備雞蛋,廚師開始向鍋內加油準備炒菜。這是一種很正常的情況。

但是,如果消息傳達的不到位,或者洗菜師傅臨時不在廚房等,就會導致有的人已經開始準備起來,但是有的人并沒有準備。

這就像是一個分布式系統一樣的,當我們在電商網站下單的時候,需要有多個分布式服務同時服務,如支付系統進行支付、紅包系統進行紅包扣減、庫存系統扣減庫存、物流系統更新物流信息等。

但是,如果其中某一個系統在執行過程中失敗了,或者由于網絡原因沒有收到請求,那么,整個系統可能就有不一致的現象了,即:付了錢,扣了紅包,但是庫存沒有扣減。

這就是所謂的分布式系統的數據一致性問題。

為了解決分布式一致性問題,人們提出了很多解決方案,其中比較重要的就是2PC和3PC。之前我們介紹過了2PC,其實就是相當于在后廚引入一個協調者,他負責統籌所有參與者。

二階段提交的算法思路是在分布式系統中引入了協調者,參與者將操作成敗通知協調者,再由協調者根據所有參與者的反饋情報決定各參與者是否要提交操作還是中止操作。

那么整個操作被分為兩個階段:第一階段:準備階段(投票階段)和第二階段:提交階段(執行階段)

但是,同時,2PC也存在一些缺點,如同步阻塞問題、單點故障問題、無法100%保證數據一致性等問題。所以人們在2PC的基礎上提出了3PC算法。

三階段提交

在二階段提交(2PC)存在諸多問題的情況下,人們提出了三階段提交(3PC),主要用來解決2PC存在的一些問題(但是這里提一句,3PC并沒徹底解決2PC存在的所有問題)。

 

有一個人想要五黑玩王者榮耀,于是他開始聯系自己的小伙伴們。

 

采用2PC的算法召集好友開黑時,會發生以下事情:

組織者:小A,我們準備玩王者榮耀,你要是可以來參加的話,現在你就登錄游戲,然后在游戲好友上給我回復個消息。

小A登錄自己的游戲賬號,然后告訴組織者:小A已就位。

組織者:小B、小C、小D,我們準備玩王者榮耀,你要是可以來參加的話,現在你就登錄游戲,然后在游戲好友上給我回復個消息。

小B、小C、小D分別登錄自己的游戲賬號,然后告訴組織者:小B、小C、小D已就位。

組織者發現所有人都就位了,于是在游戲上逐一通知大家,

組織者:小A,我邀請你了,你進來吧。

小A接受邀請

組織者:小B、小C、小D,我邀請你了,你進來吧。

小小B、小C、小D接收邀請

接著我們看下,如果采用3PC的方式組織王者榮耀五黑,會發生怎樣的事情:

組織者:小A,我們想定在晚上8點,你有時間嘛?有時間你就說YES,沒有你就說NO,然后我還會再去問其他人,這段時間你可先去干你自己的事兒,不用一直等著我。

小A:好的,我有時間。

組織者:小B、小C、小D,我們想定在晚上8點王者榮耀五黑……不用一直等我。

組織者收集完大家的時間情況了,一看大家都有時間,那么就再次通知大家。(協調者接收到所有YES指令)

組織者:小A,我們確定了晚上8點王者榮耀五黑,你要把段時間空出來,你不能再安排其他的事兒了。然后我會逐個通知其他朋友,通知完之后我會再來和你確認一下,還有啊,如果我沒有特意給你打電話,你就8點上號就行了。對了,你確定能來是吧?

小A順手設置了晚上8點鬧鐘,然后跟組織者說,我可以去。

組織者:小B,我們決定了晚上8點王者榮耀五黑……你就8點上號就行了。

組織者通知完一圈之后。所有朋友都跟他說:”我已經把8點這個時間段空出來了”。于是,他在8點的時候這一天又挨個打了一遍電話告訴他們:嘿,現在你們可以上號啦。。。。

小A、小B、小C、小D:我已經登錄了,你拉我吧。

組織者邀請A、B、C等加入游戲。

以上過程,就是一個典型的三階段提交(3PC)的過程,和2PC相比,3PC多了一個步驟,就是提前詢問所以參與者是否都能參與,并且所有人都同意后再次通知大家登錄游戲。

所謂3PC,就是把2PC的準備階段再次一分為二,組成了三階段。

在第一階段,只是詢問所有參與者是否可以執行事務操作,并不在本階段執行事務操作。當協調者收到所有的參與者都返回YES時,在第二階段才執行事務操作,然后在第三階段在執行commit或者rollback。

這樣三階段提交就有CanCommit(事務詢問)、PreCommit(事務執行)、DoCommit(事務提交)三個階段。

 

 


 

3PC的處理過程

和二階段提交對比,三階段提交主要是在2PC的第一階段和第二階段中插入一個準備階段。保證了在最后提交階段之前各參與節點的狀態是一致的。

接下來看看具體執行過程。

CanCommit

3PC的CanCommit階段其實和2PC的準備階段很像。協調者向參與者發送commit請求,參與者如果可以提交就返回Yes響應,否則返回No響應。

 

1、事務詢問:協調者向參與者發送CanCommit請求。詢問是否可以執行事務提交操作。然后開始等待參與者的響應。

2、響應反饋:參與者接到CanCommit請求之后,正常情況下,如果其自身認為可以順利執行事務,則返回YES響應,并進入預備狀態。否則反饋NO

PreCommit階段

協調者根據CanCommit階段參與者的反應情況來決定是否可以進行事務的PreCommit操作。

假如協調者從所有的參與者獲得的反饋都是YES響應,那么就會執行事務的預執行:

 

1、發送預提交請求:協調者向參與者發送PreCommit請求,并進入Prepared階段。

2、事務預提交:參與者接收到PreCommit請求后,會執行事務操作,并將undo和redo信息記錄到事務日志中。

3、響應反饋:如果參與者成功的執行了事務操作,則返回ACK響應,同時開始等待最終指令。

假如有任何一個參與者向協調者發送了NO響應,或者等待超時之后,協調者都沒有接到參與者的響應,那么就執行事務的中斷。

 

1、發送中斷請求:協調者向所有參與者發送abort請求。

2、中斷事務:參與者收到來自協調者的abort請求之后(或超時之后,仍未收到協調者的請求),執行事務的中斷。

doCommit階段

該階段進行真正的事務提交,也可以分為以下兩種情況。

如果協調證收到所有參與者的事務執行后的ACK響應,則發生如下事情:

 

1、發送提交請求:協調接收到參與者發送的ACK響應,那么他將從預提交狀態進入到提交狀態。并向所有參與者發送doCommit請求。

2、事務提交:參與者接收到doCommit請求之后,執行正式的事務提交。并在完成事務提交之后釋放所有事務資源。

3、響應反饋:事務提交完之后,向協調者發送Ack響應。

4、完成事務:協調者接收到所有參與者的ack響應之后,完成事務。

如果協調者沒有接收到參與者發送的ACK響應(可能是接受者發送的不是ACK響應,也可能響應超時),那么就會執行中斷事務。

 

1、發送中斷請求:協調者向所有參與者發送abort請求

2、事務回滾:參與者接收到abort請求之后,利用其在階段二記錄的undo信息來執行事務的回滾操作,并在完成回滾之后釋放所有的事務資源。

3、反饋結果:參與者完成事務回滾之后,向協調者發送ACK消息

4、中斷事務:協調者接收到參與者反饋的ACK消息之后,執行事務的中斷。

還有一種情況,如果參與者無法及時接收到來自協調者的doCommit或者abort請求時,會在等待超時之后,會繼續進行事務的提交。

 

以上,就是3PC的三個主要階段的操作流程。

 

3PC比2PC好在哪?

1、降低同步阻塞。

在3PC中,第一階段并沒有讓參與者直接執行事務,而是在第二階段才會讓參與者進行事務的執行。大大降低了阻塞的概率和時長。并且,在3PC中,如果參與者未收到協調者的消息,那么他會在等待一段時間后自動執行事務的commit,而不是一直阻塞。

2、提升了數據一致性

2PC中有一種情況會導致數據不一致,如在2PC的階段二中,當協調者向參與者發送commit請求之后,發生了網絡異常,只有一部分參與者接受到了commit請求。而在這部分參與者接到commit請求之后就會執行commit操作。但是其他部分未接到commit請求的機器則無法執行事務提交。于是整個分布式系統便出現了數據不一致性的現象。

這種情況在3PC的場景中得到了很好的解決,因為在3PC中,如果參與者沒有收到協調者的消息時,他不會一直阻塞,過一段時間之后,他會自動執行事務。這就解決了那種協調者發出commit之后。

另外,2PC還有個問題無法解決。那就是協調者再發出commit消息之后宕機,而唯一接收到這條消息的參與者同時也宕機了。那么即使協調者通過選舉協議產生了新的協調者,這條事務的狀態也是不確定的,沒人知道事務是否被已經提交。

這種情況在3PC中是有辦法解決的,因為在3PC中,選出新的協調者之后,他可以咨詢所有參與者的狀態,如果有某一個處于commit狀態或者prepare-commit狀態,那么他就可以通知所有參與者執行commit,否則就通知大家rollback。因為3PC的第三階段一旦有機器執行了commit,那必然第一階段大家都是同意commit的,所以可以放心執行commit。

 

3PC無法解決的問題

在doCommit階段,如果參與者無法及時接收到來自協調者的doCommit或者abort請求時,會在等待超時之后,會繼續進行事務的提交。

所以,由于網絡原因,協調者發送的abort響應沒有及時被參與者接收到,那么參與者在等待超時之后執行了commit操作。這樣就和其他接到abort命令并執行回滾的參與者之間存在數據不一致的情況。

所以,我們可以認為,無論是二階段提交還是三階段提交都無法徹底解決分布式的一致性問題。

Google Chubby的作者Mike Burrows說過:

there is only one consensus protocol, and that’s Paxos” – all other approaches are just broken versions of Paxos。

意即世上只有一種一致性算法,那就是Paxos,所有其他一致性算法都是Paxos算法的不完整版。

 

責任編輯:武曉燕 來源: 漫話編程
相關推薦

2020-03-16 14:08:59

線程熔斷限流

2019-10-09 10:45:16

云計算Web互聯網

2021-09-14 12:00:11

VR字節跳動

2019-07-22 10:34:31

大案牘術大數據Big Data

2020-10-19 13:01:31

刪庫程序員思科

2019-04-26 14:46:18

GitGitHub局域網

2019-03-12 09:43:14

反向代理正向代理服務器

2019-04-09 09:40:23

2020-12-28 12:37:36

緩存擊穿穿透

2020-03-23 12:57:20

撞庫脫庫洗庫

2019-04-19 09:48:53

樂觀鎖悲觀鎖數據庫

2019-08-13 10:34:26

鴻蒙OS跨平臺Linux內核

2021-06-07 12:11:20

JavaRunning狀態

2021-03-02 06:03:30

Java繼承對象

2021-03-09 12:27:05

微服務 微服務架構應用程序

2021-05-10 19:58:06

MySQLUTF-8數據庫

2021-04-26 14:00:43

Java 數據類型

2020-10-12 13:27:21

計算機瀏覽器電腦

2019-03-06 10:59:09

寬帶王者榮耀網絡

2020-12-28 06:11:24

羊群效應zookeeper
點贊
收藏

51CTO技術棧公眾號

亚洲国产三级在线| 国产一区二区不卡在线| 亚洲精品一区二区三区婷婷月| 人妻熟妇乱又伦精品视频| 亚洲 欧美 激情 小说 另类| 亚洲综合另类| 中日精品一色哟哟| 天天干在线影院| 成人高清免费观看mv| 久草这里只有精品视频| 韩国视频理论视频久久| 中文字幕av久久爽一区| 欧美国产亚洲精品| 欧美日韩人人澡狠狠躁视频| 一区二区精品视频| 免费a视频在线观看| 免费看欧美女人艹b| 久久久久久久久久久亚洲| 免费看黄色三级| 国产精品久av福利在线观看| 欧美日韩色一区| 男女啪啪免费视频网站| 免费黄色在线看| 久久久一区二区三区| 国产精品视频专区| av图片在线观看| 中文精品电影| 中文字幕免费精品一区| www.超碰97| 日韩最新av| 欧美日韩精品专区| 成人中文字幕av| 高清视频在线观看三级| 欧美国产精品一区二区| 久久精品ww人人做人人爽| 国产高清视频免费观看| 日韩在线一区二区三区| 456亚洲影院| 国产一级在线观看视频| 91久久电影| 色偷偷亚洲男人天堂| 午夜理伦三级做爰电影| 国产精品tv| 日韩免费高清av| 亚洲制服在线观看| www999久久| 制服丝袜激情欧洲亚洲| xxx国产在线观看| 天然素人一区二区视频| 色爱区综合激月婷婷| 人妻熟女一二三区夜夜爱| av手机在线观看| 午夜激情久久久| 国产精品久久中文| 800av免费在线观看| 99日韩精品| 777午夜精品福利在线观看| 国产一二三四在线| 激情综合久久| 97人人爽人人喊人人模波多| 日本三级一区二区| 国产婷婷精品| 国产999在线| 国产精品xxxxxx| 免费成人在线视频观看| 国产在线高清精品| 国产精品无码久久久久成人app| 韩国三级中文字幕hd久久精品| 成人黄色中文字幕| 国产激情视频在线播放| 成人精品国产一区二区4080| 国产视频一区二区三区四区| 亚洲AV成人无码一二三区在线 | 欧美a v在线播放| 偷拍自拍在线看| 欧美影院一区二区| 日本特黄在线观看| 草草视频在线一区二区| 亚洲人成网在线播放| 岛国片在线免费观看| 亚洲午夜精品一区二区国产| 久久99精品久久久久久琪琪 | 欧美一区二区三区不卡视频| 日韩av中文字幕一区二区三区| 国产欧美日韩免费| 亚洲AV无码精品色毛片浪潮| 99国产精品一区| 日本在线观看不卡| 在线欧美三级| 欧美日韩亚洲激情| 污污的视频免费观看| 波多野结衣欧美| 影音先锋欧美精品| 麻豆视频在线免费看| 亚洲免费精品| 国产视频福利一区| 无码精品人妻一区二区三区影院| 欧美激情一区二区三区四区| 日本高清视频免费在线观看| 中国色在线日|韩| 欧美一三区三区四区免费在线看| 国产麻豆xxxvideo实拍| 欧美r级电影| 7777免费精品视频| 亚洲成人精品女人久久久| 久久精品一区四区| 欧美中文字幕在线观看视频 | 色美美综合视频| 久久久国产精品久久久| 欧美日韩国产在线观看网站 | 成人在线视频一区二区| 五月天久久综合网| 91超碰免费在线| 91精品黄色片免费大全| 欧美做受喷浆在线观看| 综合精品久久| 国产精品一区二区久久精品 | 久久精品夜夜夜夜夜久久| 亚洲日本韩国在线| 国产电影精品久久禁18| 一区二区三区不卡在线| 欧美极品影院| 亚洲精品福利资源站| 欧美xxxx黑人xyx性爽| 免费观看一级特黄欧美大片| 蜜桃视频在线观看成人| 国产啊啊啊视频在线观看| 欧美一区二区三区日韩视频| av永久免费观看| 久久经典综合| 久久久影院一区二区三区| 七七成人影院| 日韩欧美电影一区| 国产极品国产极品| 日韩高清一区在线| 欧美日韩综合久久| 特黄毛片在线观看| 亚洲精品久久久久中文字幕二区| 国产一级免费观看| 国产69精品一区二区亚洲孕妇| 中国一级黄色录像| 91九色成人| 自拍视频国产精品| 在线观看亚洲一区二区| 亚洲国产成人在线| 日韩手机在线观看视频| 欧美人妖在线| 国产精品久久国产精品99gif| 飘雪影院手机免费高清版在线观看 | 欧美日韩免费观看视频| 国产午夜精品理论片a级探花| 国产香蕉视频在线| 91在线看国产| 91视频最新入口| 妖精视频一区二区三区| 日韩av成人在线| 国产乱子伦三级在线播放 | 99久久久无码国产精品免费| 亚洲色图都市小说| 中国特级黄色片| 亚洲性视频h| 精品综合久久久| 免费观看亚洲| 色视频www在线播放国产成人| 夜夜狠狠擅视频| 亚洲免费av高清| 怡红院一区二区| 亚洲影院一区| 亚洲精品国产精品国自产观看| 欧美一级网址| 欧美精品videossex性护士| 天堂网在线资源| 91国偷自产一区二区使用方法| 国产精品1区2区3区4区| 国产精品综合一区二区三区| 91九色丨porny丨国产jk| 欧美精品密入口播放| 国产精品草莓在线免费观看 | 午夜精品久久久久久久99黑人 | 久久久精品国产免费观看同学| 另类小说第一页| 久久精品亚洲人成影院 | 成人动漫在线免费观看| 欧美一区二区在线观看| 国产情侣在线视频| 中文乱码免费一区二区| 亚洲av无一区二区三区久久| 国产日韩欧美三级| 欧美爱爱视频网站| 久久国产精品免费精品3p| 国产精品精品久久久久久| 国产美女在线观看| 亚洲欧美国产高清va在线播 | 精品视频久久久久久久| 91久久精品无码一区二区| 亚洲韩国一区二区三区| www久久久久久久| 成人精品国产一区二区4080| 在线看的黄色网址| av成人天堂| 午夜久久久久久久久久久| 中日韩免视频上线全都免费| 91久热免费在线视频| 偷拍精品精品一区二区三区| 九九热精品在线| 国产粉嫩一区二区三区在线观看| 欧美va亚洲va| 91精品国产色综合久久不8| 欧美日韩免费在线| 国产亚洲精品久久777777| 国产精品伦理一区二区| 国产乱了高清露脸对白| 国产一区91精品张津瑜| 高清一区二区视频| 亚洲专区在线| 亚洲一区 在线播放| 国产亚洲一卡2卡3卡4卡新区| 国产成人亚洲欧美| 99久热在线精品视频观看| 日本成人精品在线| cao在线视频| 欧美另类暴力丝袜| 久热国产在线| 伊人成人开心激情综合网| 同心难改在线观看| 精品少妇一区二区三区| 99热这里只有精| 欧美放荡的少妇| 姑娘第5集在线观看免费好剧| 狠狠久久亚洲欧美专区| 日韩精品国产一区二区| 一二三区精品福利视频| 天天看天天摸天天操| 国产精品女同互慰在线看| 成年人在线免费看片| 国产日韩影视精品| theav精尽人亡av| 99久久99久久综合| 日韩精品一区二区三区高清免费| 成人午夜免费av| www.四虎精品| 成人免费毛片app| 国产精品91av| 成人福利视频在线| 国产精品果冻传媒| 成人天堂资源www在线| 秘密基地免费观看完整版中文| 国产激情一区二区三区| 动漫av在线免费观看| 丁香亚洲综合激情啪啪综合| 特级特黄刘亦菲aaa级| 国产.精品.日韩.另类.中文.在线.播放| 婷婷中文字幕在线观看| 国产成人精品免费| 91porn在线| 99久久精品国产网站| a级在线观看视频| 国产视频视频一区| 极品尤物一区二区| 亚洲色图.com| 中文字幕亚洲欧美日韩| 亚洲国产精品人人做人人爽| 国产手机在线视频| 欧美又粗又大又爽| 国产成人久久精品77777综合 | 亚洲影院免费| a在线观看免费视频| 国产河南妇女毛片精品久久久| 国偷自产av一区二区三区麻豆| www.99精品| 亚洲av综合一区二区| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 99re6热只有精品免费观看| 97伦理在线四区| 日韩成人动漫在线观看| 四虎永久国产精品| 午夜天堂精品久久久久| 国产午夜福利在线播放| 美女尤物国产一区| 欧美一级片在线免费观看| 91论坛在线播放| 国产精品18在线| 亚洲自拍欧美精品| 4438国产精品一区二区| 欧美精品久久99久久在免费线| 精品人妻伦一二三区久久| 精品视频久久久久久| 黄色小网站在线观看| 午夜精品久久17c| 日韩国产91| 久久波多野结衣| 小说区亚洲自拍另类图片专区| 春日野结衣av| 国产黄色成人av| 免费黄在线观看| 亚洲国产你懂的| 一区二区www| 精品视频在线播放色网色视频| 免费网站成人| 日韩av电影中文字幕| 亚洲精品观看| 先锋在线资源一区二区三区| 亚洲激情影院| 免费不卡av网站| 亚洲国产岛国毛片在线| 久久亚洲精品国产| 日韩写真欧美这视频| yiren22亚洲综合伊人22| 欧美精品久久久久久久免费观看| 欧美aaa级| 日本不卡二区高清三区| 亚洲免费激情| 国产乱淫av麻豆国产免费| 亚洲欧洲日产国产综合网| 一本一道无码中文字幕精品热| 日韩美女一区二区三区四区| 人人干在线视频| 国产成人一区二区三区| 日韩精品免费一区二区三区竹菊| 国产91在线亚洲| 日本va欧美va欧美va精品| 大黑人交xxx极品hd| 亚洲观看高清完整版在线观看| 999av视频| 久久精品欧美视频| 国产成人精选| 日韩理论片在线观看| 欧美专区在线| 内射中出日韩无国产剧情| 亚洲高清视频中文字幕| 好吊视频一二三区| 欧美黄色www| 97久久综合精品久久久综合| 欧美日韩中文字幕在线播放| 国产真实乱子伦精品视频| 中文字幕91视频| 欧美日韩一区三区| www.亚洲资源| 国产精品久久久久久久美男| 欧美一区二区性| 热久久精品免费视频| 国产欧美日韩激情| 中文字幕精品在线观看| 最新国产精品拍自在线播放| 伊人久久精品| 97超碰在线视| 国产iv一区二区三区| 精品一区二区三区人妻| 欧美精品一区二区在线观看| av中文字幕在线观看第一页| 国产另类自拍| 免费在线播放第一区高清av| 不卡一区二区在线观看| 91福利区一区二区三区| av在线免费观看网| 91精品久久久久久久久久另类 | 欧美经典三级视频一区二区三区| 人人妻人人爽人人澡人人精品| 正在播放欧美视频| 91精品福利观看| 日本福利视频在线观看| av在线综合网| 香蕉污视频在线观看| 色偷偷偷综合中文字幕;dd| 欧美一区一区| heyzo亚洲| 欧美激情一区不卡| 国产毛片毛片毛片毛片| 久久久久久久久久国产精品| 亚洲第一福利专区| 91激情视频在线| 亚洲精品免费视频| 香蕉人妻av久久久久天天| 国产精品美女无圣光视频| 雨宫琴音一区二区三区| yjizz视频| 91福利国产精品| 性国产高清在线观看| 久久精品日产第一区二区三区精品版 | 1000部国产精品成人观看| 亚洲乱码国产乱码精品精软件| 欧美一级在线播放| 911精品美国片911久久久| 日本性生活一级片| 欧美专区亚洲专区| 在线观看三级视频| 欧美伦理一区二区| 国产一区二区三区免费播放| 免费观看成人毛片| 久久视频在线播放| 九色精品91| ass极品水嫩小美女ass| 色欲综合视频天天天| 午夜小视频福利在线观看| 欧美资源一区| 懂色av一区二区三区蜜臀| 亚洲综合成人av| 97视频在线观看免费高清完整版在线观看 | 日本黄色一级视频| 欧美日本亚洲视频|