日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

分布式一致性问题

發布時間:2024/4/13 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 分布式一致性问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

什么是分布式一致性問題呢?簡單來說,就是在一個分布式系統中,有多個節點,每個節點都會提出一個請求,但是在所有節點中只能確定一個請求被通過。而這個通過是需要所有節點達成一致的結果,所以所謂的一致性就是在提出的所有請求中能夠選出最終一個確定請求。

并且這個請求選出來以后,所有的節點都要知道。

這個就是典型的拜占庭將軍問題

拜占庭將軍問題說的是:拜占庭帝國軍隊的將軍們必須通過投票達成一致來決定是否對某一個國家發起進攻。但是這些將軍在地里位置上是分開的,并且在將軍中存在叛徒。叛徒可以通過任意行動來達到自己的目標:

1. 欺騙某些將軍采取進攻行動

2. 促使一個不是所有將軍都統一的決定,比如將軍們本意是不希望進攻,但是叛徒可以促成進攻行動

3. 迷惑將軍使得他們無法做出決定

如果叛徒達到了任意一個目標,那么這次行動必然失敗。只有完全達成一致那么這次進攻才可能勝利

拜占庭問題的本質是,由于網絡通信存在不可靠的問題,也就是可能存在消息丟失,或者網絡延遲。如何在這樣的背景下對某一個請求達成一致。

為了解決這個問題,很多人提出了各種協議,比如大名鼎鼎的Paxos;?也就是說在不可信的網絡環境中,按照paxos這個協議就能夠針對某個提議達成一致。

所以:分布式一致性的本質,就是在分布式系統中,多個節點就某一個提議如何達成一致

這個和Google?Chubby有什么關系呢

在Google有一個GFS(google file system),他們有一個需求就是要從多個gfs?server中選出一個master?server。這個就是典型的一致性問題,5個分布在不同節點的server,需要確定一個master?server,而他們要達成的一致性目標是:確定某一個節點為master,并且所有節點要同意。?

而GFS就是使用chubby來解決這個問題的。

實現原理是:所有的server通過Chubby提供的通信協議到Chubby server上創建同一個文件,當然,最終只有一個server能夠獲準創建這個文件,這個server就成為了master,它會在這個文件中寫入自己?的地址,這樣其它的server通過讀取這個文件就能知道被選出的master的地址

?

總結

以上是生活随笔為你收集整理的分布式一致性问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。