raft 算法分享

mysql 分享
參考
mysql講義
mysql acid的設計實現

raft 算法分享 (|| paxos)
分佈式 raft 算法
https://zhuanlan.51cto.com/art/201910/604122.htm
深入淺出Paxos
https://cloud.tencent.com/developer/article/1380841
https://www.bilibili.com/video/a
v61558449?p=3
https://www.bilibili.com/video/av21667358?from=search&seid=402974514119071173
https://zh.wikipedia.org/wiki/Raft
http://thesecretlivesofdata.com/raft/
https://cloud.tencent.com/developer/article/1477205

https://raft.github.io/
https://blog.csdn.net/niuniuasb/article/details/54798932
https://lotabout.me/2019/Raft-Consensus-Algorithm/

https://www.infoq.cn/article/building-flexible-storage-system-based-on-raft
https://www.infoq.cn/article/2018/03/Baidu-open-source-Raft-algorithm
https://blog.csdn.net/longxibendi/article/details/43340469

 

raft vs zab
投票上:
raft只能投一票,zab可以投多票

日誌複製:
raft 通過心跳逐漸的複製, zab 在選舉出leader後專門的去複製數據

數據讀取:
raft 在第一次和leader建立連接後,以後都通過leader。zab 就只轉發寫的請求,讀就從節點就處理了

檢測leader宕機:
raft 通過從 leader 到 follower 的單項心跳來判斷 , zab進行雙向的判斷:leader自己有個和自己保持連接集合,不到一半時就放棄leader身份,follower 也有向leader的超鏈接

建立連接的方式:
raft 發出兩種請求是要等待回覆,超時就重試。 而 zab 就廣播出去就行了

--------------------------------------------------------------------------------
zookeeper 做註冊中心有哪些弊端:
1、zk 使用 zab 協議保證一致性,註冊中心如果追求可用性,有一個總比沒有好時,是個弊端
2、不適合大規模頻繁註冊寫的問題,它保證數據的一致性和持久性(zookeeper 的特長是做分佈式協調服務),毫秒級的服務健康檢測,服務保持長連接,寫不可擴展
3、當發生網絡分區時,zk 爲了保證腦裂下數據一致性,放棄了可用性
4、在粗粒度分佈式鎖,分佈式選主,主備高可用切換等不需要高TPS 支持的場景下有不可替代的作用

 

http://jm.taobao.org/2018/06/13/%E5%81%9A%E6%9C%8D%E5%8A%A1%E5%8F%91%E7%8E%B0%EF%BC%9F/

 

我分享的ppt:

https://github.com/daleyzou/Image/blob/master/%E5%88%86%E5%B8%83%E5%BC%8F%E4%B8%80%E8%87%B4%E6%80%A7%E7%AE%97%E6%B3%95%20-%20raft.pptx

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章