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

快速掌握分布式一致性算法Paxos

云計(jì)算 分布式
分布式一致性算法是用于在分布式系統(tǒng)中確保數(shù)據(jù)一致性的算法。在分布式計(jì)算環(huán)境中,數(shù)據(jù)通常會(huì)分布在多個(gè)節(jié)點(diǎn)中,這些節(jié)點(diǎn)可能由于網(wǎng)絡(luò)延遲、故障或其他原因而導(dǎo)致數(shù)據(jù)的不一致。

   分布式一致性算法是用于在分布式系統(tǒng)中確保數(shù)據(jù)一致性的算法。在分布式計(jì)算環(huán)境中,數(shù)據(jù)通常會(huì)分布在多個(gè)節(jié)點(diǎn)中,這些節(jié)點(diǎn)可能由于網(wǎng)絡(luò)延遲、故障或其他原因而導(dǎo)致數(shù)據(jù)的不一致。分布式一致性算法就是為了確保分布式系統(tǒng)中的所有節(jié)點(diǎn)數(shù)據(jù)最終都能達(dá)到一致的狀態(tài)。

1、初識(shí)Paxos算法

   分布式一致性算法可以分為強(qiáng)一致性和弱一致性;Paxos是強(qiáng)一致性算法(強(qiáng)一致性是指在任何時(shí)刻系統(tǒng)中的任意節(jié)點(diǎn)都可以看到相同的數(shù)據(jù),并且對(duì)數(shù)據(jù)的任何操作都會(huì)立即反映在系統(tǒng)的其他部分)

圖片圖片

   上圖中有三個(gè)節(jié)點(diǎn),客戶端1和客戶端2要修改節(jié)點(diǎn)的值,那么Paxos算法可以保證所有的節(jié)點(diǎn)的value值都是一致的(要么所有節(jié)點(diǎn)都是value1,要么所有節(jié)點(diǎn)是value2,不會(huì)出現(xiàn)一部分節(jié)點(diǎn)是value1,另一部節(jié)點(diǎn)是value2)。

   Paxos算法中涉及到三個(gè)角色,分別是提議者、接受者和學(xué)習(xí)者,這三個(gè)角色的作用如下:

(1)提議者:發(fā)起提案,只要提議者發(fā)的提案被半數(shù)以上接受者接受,提議者就認(rèn)為該提案里的value被選定了。

(2)接受者:只要接受者接受了某個(gè)提案,接受者就認(rèn)為該提案里的 value被選定了。接收者承諾不會(huì)接受比自己已通過的提案編號(hào)要小的任何提案。

(3)學(xué)習(xí)者:接受者告訴學(xué)習(xí)者哪個(gè)value被選定,學(xué)習(xí)者就認(rèn)為那個(gè) value被選定。

2、Paxos算法的工作流程

2.1 準(zhǔn)備階段

   提議者是客戶端,接收者是集群中的節(jié)點(diǎn),下圖是的客戶端1和客戶端2在準(zhǔn)備階段發(fā)送請(qǐng)求到集群的各節(jié)點(diǎn)上:

圖片圖片

   在準(zhǔn)備階段提議者(客戶端)向接受者(集群中各節(jié)點(diǎn))發(fā)送請(qǐng)求時(shí)會(huì)帶上自己需要提議的提案編號(hào)(如客戶端1的提案編號(hào)是0,客戶端2的提案編號(hào)是3),這一個(gè)階段提議者不會(huì)帶上具體的value值。

   假設(shè)節(jié)點(diǎn)A和節(jié)點(diǎn)B先接收到了客戶端1的請(qǐng)求,節(jié)點(diǎn)C先接受到客戶端2的請(qǐng)求,并且節(jié)點(diǎn)A、節(jié)點(diǎn)B、節(jié)點(diǎn)C都是首次接收提案,那么三個(gè)節(jié)點(diǎn)對(duì)請(qǐng)求做出響應(yīng)如下圖所示:

圖片圖片

   節(jié)點(diǎn)A收到了客戶端1的請(qǐng)求后,由于節(jié)點(diǎn)A當(dāng)前并沒有接受任何的其他提案,所以節(jié)點(diǎn)A會(huì)響應(yīng)客戶端1的結(jié)果是尚無(wú)任何提案,同時(shí)節(jié)點(diǎn)A在返回尚無(wú)提案的時(shí)候也會(huì)做一個(gè)不會(huì)再響應(yīng)任何的小于當(dāng)前提案編號(hào)(當(dāng)前的提案編號(hào)是0)的提案承諾。同理,節(jié)點(diǎn)B和節(jié)點(diǎn)C也是同樣的過程。

   客戶端1完成與節(jié)點(diǎn)A和節(jié)點(diǎn)B的通信,但是還沒有發(fā)請(qǐng)求給節(jié)點(diǎn)C,當(dāng)客戶端1發(fā)送請(qǐng)求給節(jié)點(diǎn)C的時(shí)候,節(jié)點(diǎn)C會(huì)作出響應(yīng),但是節(jié)點(diǎn)C已經(jīng)響應(yīng)了客戶端2的提案(當(dāng)前節(jié)點(diǎn)C提案的編號(hào)是3)客戶端1的提案編號(hào)是0,由于3>0,根據(jù)之前的承諾(不會(huì)接受比當(dāng)前提案小的請(qǐng)求),節(jié)點(diǎn)C不會(huì)響應(yīng)客戶端1的請(qǐng)求而是直接丟棄掉,如下圖所示:

圖片圖片

   客戶端2完成與節(jié)點(diǎn)C的通信,隨后與節(jié)點(diǎn)A、節(jié)點(diǎn)B進(jìn)行通信,接收者承諾不接受小于當(dāng)前提案編號(hào)的任何提案,由于客戶端2的提案編號(hào)是3,3>0,所以客戶端2請(qǐng)求過來(lái)之后節(jié)點(diǎn)A、節(jié)點(diǎn)B依然正常的響應(yīng),響應(yīng)的結(jié)果是尚未提案,如下圖所示:

圖片圖片

   Paxos算法的準(zhǔn)備階段就完成了,因?yàn)榭蛻舳耸盏搅思褐写蠖鄶?shù)節(jié)點(diǎn)的響應(yīng)。

2.2 接收階段

   在準(zhǔn)備階段完成之后,接下來(lái)就是發(fā)送正式請(qǐng)求了,客戶端會(huì)帶上提案編號(hào)和對(duì)應(yīng)的value值,客戶端1就將自己的提案編號(hào)以及提案值發(fā)送到集群中的各節(jié)點(diǎn),同樣的客戶端2也將自己的提案編號(hào)和提案值發(fā)送給各節(jié)點(diǎn),發(fā)送完成之后集群中各節(jié)點(diǎn)就需要做出響應(yīng),如下圖所示:

圖片圖片

   客戶端1的請(qǐng)求會(huì)被三個(gè)節(jié)點(diǎn)全部的拋棄,因?yàn)楦鞴?jié)點(diǎn)已經(jīng)約定不會(huì)接受比提案編號(hào)3小的提案編號(hào),客戶端2發(fā)送過來(lái)的請(qǐng)求會(huì)被正常的接受,這個(gè)時(shí)候就完成了節(jié)點(diǎn)中value值的同步。

   如果有學(xué)習(xí)者,就將當(dāng)前的這個(gè)結(jié)果通知給學(xué)習(xí)者,學(xué)習(xí)者發(fā)現(xiàn)大多數(shù)節(jié)點(diǎn)都通過這個(gè)提案,那么它也會(huì)通過這個(gè)提案,將這個(gè)值進(jìn)行存儲(chǔ)。

3、部分節(jié)點(diǎn)已接受提案,新提議者請(qǐng)求的處理

   假設(shè)節(jié)點(diǎn)A、節(jié)點(diǎn)B已通過的提案編號(hào)為3的提案,節(jié)點(diǎn)C還沒有接受提案,現(xiàn)在有客戶端3攜帶提案編號(hào)6來(lái)請(qǐng)求,如下圖所示:

圖片圖片

   節(jié)點(diǎn)A、節(jié)點(diǎn)B會(huì)返回其接受的提案編號(hào)和提案值(如提案【3,xia】)給客戶端3,節(jié)點(diǎn)C由于沒有接受到提案,返回結(jié)果是尚無(wú)提案,如下圖所示:

圖片圖片

   客戶端3會(huì)根據(jù)集群中響應(yīng)的最大提案編號(hào)來(lái)重新設(shè)置value,也就是節(jié)點(diǎn)A、節(jié)點(diǎn)B已通過的提案的編號(hào)是3,value為xia;那么客戶端3將提案內(nèi)容中提案編號(hào)改成自己的編號(hào),(【3,xia】修改為【6,xia】)修改完成之后客戶端3再將這個(gè)結(jié)果發(fā)送給集群中的各個(gè)節(jié)點(diǎn),如下所示:

圖片圖片

   集群中的各節(jié)點(diǎn)收到客戶端3的提案之后都會(huì)做出響應(yīng),由于客戶端3中的提案編號(hào)為6,所以節(jié)點(diǎn)都會(huì)接受這個(gè)提案請(qǐng)求并且全部通過。

總結(jié):

(1)Paxos是一種強(qiáng)一致性的分布式算法,用于確保分布式系統(tǒng)中的節(jié)點(diǎn)數(shù)據(jù)一致。

(2)Paxos算法主要有準(zhǔn)備請(qǐng)求階段和接受階段,并且承諾不會(huì)接受比當(dāng)前提案編號(hào)小的請(qǐng)求。

責(zé)任編輯:武曉燕 來(lái)源: 龍蝦編程
相關(guān)推薦

2022-06-07 12:08:10

Paxos算法

2019-10-11 23:27:19

分布式一致性算法開發(fā)

2020-03-16 11:55:28

PaxosRaft協(xié)議

2020-10-28 11:15:24

EPaxos分布式性算法

2019-09-05 08:43:34

微服務(wù)分布式一致性數(shù)據(jù)共享

2021-11-22 16:30:30

分布式一致性分布式系統(tǒng)

2024-05-27 10:42:55

2017-09-21 10:59:36

分布式系統(tǒng)線性一致性測(cè)試

2021-06-03 15:27:31

RaftSOFAJRaft

2021-07-28 08:39:25

分布式架構(gòu)系統(tǒng)

2021-06-06 12:45:41

分布式CAPBASE

2017-09-22 12:08:01

數(shù)據(jù)庫(kù)分布式系統(tǒng)互聯(lián)網(wǎng)

2018-03-13 08:20:48

區(qū)塊鏈數(shù)據(jù)安全

2018-04-10 16:24:03

算法分布式一致性

2023-11-06 09:06:54

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

2021-06-16 08:33:02

分布式事務(wù)ACID

2020-05-11 10:30:57

2PC分布式協(xié)議

2021-08-13 11:50:23

AnalyticDB 分布式數(shù)據(jù)庫(kù)

2018-03-19 09:50:50

分布式存儲(chǔ)系統(tǒng)

2025-03-14 08:00:00

分布式系統(tǒng)服務(wù)器一致性
點(diǎn)贊
收藏

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

主站蜘蛛池模板: 欧美特级黄色 | 久久精品 | www.一区二区三区.com | 欧美精品久久久久久久久老牛影院 | 一区二区国产精品 | 国产乱码精品一品二品 | 国产精品一区二区三区久久久 | 亚洲欧美一区二区三区在线 | 国产日韩欧美一区 | 国产91一区二区三区 | 亚洲免费在线观看 | 日韩在线视频观看 | www.精品一区| 国产女人与拘做受视频 | 久久国产精99精产国高潮 | 黄色一级免费 | 欧美福利| 久久久噜噜噜久久中文字幕色伊伊 | 日韩欧美精品在线播放 | 狠狠婷婷综合久久久久久妖精 | 成人免费视频观看 | av激情在线| 欧美精品久久久久 | 亚洲精品乱码久久久久久按摩观 | 欧美成人一区二免费视频软件 | 9999国产精品欧美久久久久久 | 狠狠视频 | 黄色片网站在线观看 | www.久久| 激情六月丁香婷婷 | 国产精品免费在线 | av在线一区二区三区 | 秋霞影院一区二区 | 久久久久久久久久久一区二区 | 国产sm主人调教女m视频 | 中文字幕久久精品 | 网络毛片 | 久久综合激情 | 91亚洲国产| 国产精品免费大片 | 激情91|