摘 要: 通過對Paxos算法的研究與分析,從縮減階段過程、減少Learner通信量、使用快照機(jī)制進(jìn)行節(jié)點(diǎn)崩潰恢復(fù)和使用批量提交方式節(jié)省通信量等方面改進(jìn)了基本的Paxos算法,并搭建仿真實(shí)驗環(huán)境,測試驗證優(yōu)化的Paxos算法的效果及性能,得出結(jié)論。
關(guān)鍵詞: 元數(shù)據(jù)一致性; Paxos; 閾值; Leader節(jié)點(diǎn)
中圖分類號: TN911?34 文獻(xiàn)標(biāo)識碼: A 文章編號: 1004?373X(2013)13?0065?03
A consistent approach of NoSQL database metadata based on Paxos algorithm
ZHOU Yi?fan
(Navy Military Representative Office Stationed in Xingping District, Xingping 713107, China)
Abstract: Based on the research and analysis of Paxos algorithm, proceeding from shrinking the stage process, reducing the amount of Learner communication traffic, realizing the node crash recovery of snapshot mechanism and saving communication traffic by mass delivery mode, the basic Paxos algorithm was improved, and a simulation experiment environment was created. The effectiveness and performance of the optimized Paxos algorithm were tested and verified. The conclusion is given.
Keywords: metadata consistency; Paxos; threshold; Leader node
1 Paxos算法及其優(yōu)化
Paxos是基于消息傳遞的算法,由于其較大的通信量,使得維護(hù)數(shù)據(jù)一致性的過程代價過大,會降低可靠性與可用性的提升的空間。所以,迄今為止Paxos也只是應(yīng)用于分布式鎖環(huán)境中。對其進(jìn)行優(yōu)化的目的是減少算法的通信量從而得到性能的提升。
批量處理在通信系統(tǒng)是常見的優(yōu)化手段,也可以把它用到Paxos中。與其來一次請求就進(jìn)行一次Paxos實(shí)例過程,可以將多次請求累積然后只提交一次Paxos,這樣在很大程度上減少了通信量。一般而言,閾值設(shè)置的越大,通信量越少。但是這個閾值比較難定,很多因素影響閾值的設(shè)定:
(1)系統(tǒng)對數(shù)據(jù)包的大小的限制(例如,UDP包的大小最大是64 KB);
(2)閾值越大,Leader需要花更多時間等待客戶請求,可能平均開銷比一次請求一次處理的更大;
(3)閾值越大,提交過程中出現(xiàn)故障(信息丟失或出現(xiàn)故障),則可能導(dǎo)致這些數(shù)據(jù)丟失,目前的業(yè)務(wù)場景可以接受這樣的以高性能換取數(shù)據(jù)可靠性(丟幾條或幾百條監(jiān)測記錄不影響整個系統(tǒng)的使用)。
可以從策略上對批出處理流程進(jìn)行優(yōu)化,在請求數(shù)達(dá)到設(shè)定的閾值的情況下,提交進(jìn)行Paxos實(shí)例過程;……