基于Raft共識(shí)算法的分布式系統(tǒng)一致性問題研究
發(fā)布時(shí)間:2021-08-24 19:13
復(fù)制狀態(tài)機(jī)作為分布式系統(tǒng)的主要容錯(cuò)手段,典型地使用復(fù)制日志來實(shí)現(xiàn)。該方法維持一組服務(wù)器上的多個(gè)復(fù)制日志彼此相同,同時(shí)要求每個(gè)狀態(tài)機(jī)按照順序執(zhí)行日志中的命令,由此保證每臺(tái)服務(wù)器產(chǎn)出相同的狀態(tài),從而可以容忍少數(shù)服務(wù)器故障。復(fù)制狀態(tài)機(jī)方法需要使用分布式共識(shí)協(xié)議保證多個(gè)復(fù)制日志能夠就下一個(gè)日志條目達(dá)成共識(shí),同時(shí)需要在故障和消息延遲情況下保證多個(gè)狀態(tài)機(jī)對(duì)外的數(shù)據(jù)一致。共識(shí)協(xié)議作為復(fù)制狀態(tài)機(jī)的核心組件,需要被簡(jiǎn)潔高效地實(shí)現(xiàn)。但諸如Paxos、ViewStamped Replication、Zab這些主流的共識(shí)協(xié)議,算法本身難以理解,工程實(shí)現(xiàn)上也需要進(jìn)行額外擴(kuò)展或性能優(yōu)化,不便于構(gòu)建實(shí)際系統(tǒng)。此外,基于復(fù)制狀態(tài)機(jī)構(gòu)建滿足給定一致性模型的分布式服務(wù),需要根據(jù)服務(wù)特性和應(yīng)用場(chǎng)景進(jìn)行特定設(shè)計(jì),沒有通用的解決方案�;谝陨蠁栴},本文的研究?jī)?nèi)容如下:(1)本文分析對(duì)比主流的共識(shí)協(xié)議,基于可理解性和易于工程實(shí)現(xiàn)的需求,選擇Raft協(xié)議作為核心算法。但現(xiàn)有Raft協(xié)議實(shí)現(xiàn),大多數(shù)為實(shí)驗(yàn)性質(zhì),在完整性上有所欠缺或在正確性上缺乏驗(yàn)證,少數(shù)可行實(shí)現(xiàn)都是作為大型服務(wù)的一部分,沒有封裝成一個(gè)通用的基礎(chǔ)庫形式。因此本文從零開...
【文章來源】:西安電子科技大學(xué)陜西省 211工程院校 教育部直屬院校
【文章頁數(shù)】:99 頁
【學(xué)位級(jí)別】:碩士
【部分圖文】:
圖2.1?Raft狀態(tài)轉(zhuǎn)移圖??
圖2.2?Raft任期??
正常運(yùn)行期間,一致性檢查總是從新條目的上一個(gè)索引位置進(jìn)行的,所以領(lǐng)導(dǎo)者??和跟隨者日志總是一致的。但是,當(dāng)發(fā)生領(lǐng)導(dǎo)者崩潰或者網(wǎng)絡(luò)分區(qū)時(shí),跟隨者的日志??就會(huì)和領(lǐng)導(dǎo)者存在沖突。圖2.4給出了跟隨者日志不同于領(lǐng)導(dǎo)者的幾種形式。每個(gè)日??志條目中只給出了任期號(hào),省去了客戶端命令。跟隨者可能缺失日志條目(圖2.4中??的(a-b)),也可能擁有額外的不在領(lǐng)導(dǎo)者日志中的條目(圖2.4中的(c-d)),或者兩??者都有(圖2.4中的(e-f))。??】2?3?4?5?6?7?8?9?10?11?12?索引??TTTTT'prniTTTTTTTTTI?任期為s?的?? ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄?領(lǐng)導(dǎo)者??(a)?1?I?1?4?4?5?5?6?6??(b)?1114??(c)?|?1?1?1?|?1?1?4?|?4?1?5?1?5?|?6?1?6?1?6?[7]?可能的?? ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄r?-r?■■? ̄ ̄r ̄_!?跟隨者??(d)?1?1?1?|4[4|5|5|6|6[6|7|7??(e)?1?I?14?4?4?4??(〇?I?1?I?22233?3?33??圖2.4日志不一致的可能情況??16??
本文編號(hào):3360560
【文章來源】:西安電子科技大學(xué)陜西省 211工程院校 教育部直屬院校
【文章頁數(shù)】:99 頁
【學(xué)位級(jí)別】:碩士
【部分圖文】:
圖2.1?Raft狀態(tài)轉(zhuǎn)移圖??
圖2.2?Raft任期??
正常運(yùn)行期間,一致性檢查總是從新條目的上一個(gè)索引位置進(jìn)行的,所以領(lǐng)導(dǎo)者??和跟隨者日志總是一致的。但是,當(dāng)發(fā)生領(lǐng)導(dǎo)者崩潰或者網(wǎng)絡(luò)分區(qū)時(shí),跟隨者的日志??就會(huì)和領(lǐng)導(dǎo)者存在沖突。圖2.4給出了跟隨者日志不同于領(lǐng)導(dǎo)者的幾種形式。每個(gè)日??志條目中只給出了任期號(hào),省去了客戶端命令。跟隨者可能缺失日志條目(圖2.4中??的(a-b)),也可能擁有額外的不在領(lǐng)導(dǎo)者日志中的條目(圖2.4中的(c-d)),或者兩??者都有(圖2.4中的(e-f))。??】2?3?4?5?6?7?8?9?10?11?12?索引??TTTTT'prniTTTTTTTTTI?任期為s?的?? ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄?領(lǐng)導(dǎo)者??(a)?1?I?1?4?4?5?5?6?6??(b)?1114??(c)?|?1?1?1?|?1?1?4?|?4?1?5?1?5?|?6?1?6?1?6?[7]?可能的?? ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄r?-r?■■? ̄ ̄r ̄_!?跟隨者??(d)?1?1?1?|4[4|5|5|6|6[6|7|7??(e)?1?I?14?4?4?4??(〇?I?1?I?22233?3?33??圖2.4日志不一致的可能情況??16??
本文編號(hào):3360560
本文鏈接:http://sikaile.net/kejilunwen/jisuanjikexuelunwen/3360560.html
最近更新
教材專著