paxos如何提高集群的平行計算能力。已經
在paxos理解之我見講述了paxos的思路。下面講一下我對paxos關鍵條件的理解和總結。
paxos集群的前提條件:
一、多數派:大於集群的半數以上。
二、集群中的伺服器指決議編號比它之前處理的大的,大於則通過。小於反對不通過。
三、提議:向集群其他伺服器傳送本伺服器的資料變更。多數派通過後(多數派將接收的資料再通過的同時,將資料也進行了變更)則可以變更。
四、投票:接收集群其他伺服器傳送來的資料變更請求,並將其他伺服器傳送的提議編號與本地編號作比較,決定通過或反對。
現在假設每台伺服器t1時間段內可以處理兩次請求,推算得知3臺伺服器程式,三颱伺服器的並行能力是最高的。
現在進行演算:
假設有a、b、c三颱機器 每台機器在t1時間段內可以完成投票↓↑、提議↑↓兩項事務。將a、b、c進行集群的話。t1時間段內可以做多少次操作呢?
先以a伺服器開始分析:
(一)、t1時間段內,a先進行提議提議↑,恰好(中間網路通訊時間可以忽略)b收到了a發來的提議,進行了投票↓↑。由於三颱伺服器a、b佔了多數派。所以a伺服器不用等待c伺服器的投票結果,即可進行資料變更。a完成了投票↓↑、而b完成了提議↑↓。
(二)、同樣是t1時間內,b、c機器同樣可以像(一)所述那樣的過程,b完成了投票↓↑、而c完成了提議↑↓。
(三)、同樣是t1時間內,c、a機器同樣可以像(一)所述那樣的過程,c完成了投票↓↑、而a完成了提議↑↓。
通過分析可得知t1時間段內a、b、c的paxos集群共完成了三次投票↓↑、提議↑↓。並行能力理論上提公升了三倍。
(四)、當a、b、c都擁有最新值且同時進行提議時,將在a、b、c三颱之間採用「類似猜拳」的機制,決定誰的提議先通過。例如,出現這種情況時,三颱機器各隨機出乙個數字。隨機數最大的那台機器通過。
當有5臺、6臺、7臺進行paxos進行集群時,按照上述過程和paxos前提條件進行推算,並行能力是小於三的。在這裡不在進行推算了。
那麼,paxos的好處是什麼呢?
在cap理論中 文章所述集群。c(一致性)、a(可用性)、p(分割槽容錯性)三者之間完美銜接。而且效能高。
mysqlmmm 模型就是基於此實現。
paxos演算法之粗淺理解
paxos出身 paxos出身名門,它爹是沒多久前獲得圖靈獎的在分布式領域大名鼎鼎的leslie lamport。paxos為何而生 那麼lamport 他老人家為什麼要搞這個東東呢 不是吃飽了撐的,而是為了解決分布式系統的大難題。分布式系統一 般要求具有高可用性,高可用性一般又是通過冗餘也就是多副...
理解Paxos演算法的推導過程
paxos作為分布式系統的基石,一直都是cs領域的熱門話題,paxos號稱是最難理解的演算法。最近幾天一直在看paxos相關資料,發現paxos演算法執行過程很簡單,但如何推導出paxos演算法確實令人費解。網上有大量關於paxos的基本概念 演算法描述 推導過程等文章,所以關於paxos的基本概念...
FEC之我見二
前面簡單說了一下fec,以及它的配合使用的方法。下面我想詳細說一下fec演算法 曾經有位大神在帖子裡這麼寫著 採用改進型的vandermonde矩陣rs演算法.其優點演算法運算複雜度更低且解決了利用矩陣構造rs碼當矩陣奇異時,構造的糾錯碼不為rs碼的問題。1 資料報分割 對資料報fec編碼運算首先進...