raft 高可用嘗試
之前寫的一些平臺基本都是單例項的,也沒考慮叢集,擴充套件性,高可用方面。最近在測試,使用raft,實現高可用,測試了下,感覺使用沒有很複雜,後面的一些系統設計開發,需要更多嘗試raft。
raft叢集中,每個raft例項都有自己的儲存,為了維護一致性,涉及到資料變更的操作,要寫入log,每個例項進行應用,維護資料一致性。
針對只能是leader節點的操作,需要判斷當前節點是否是leader,如果不是,直接返回錯誤,leader資訊。讓客戶端進行重新請求。這種操作對客戶端請求有要求,客戶端需要先獲取leader資訊,然後向leader節點傳送請求。
在實際的使用中,本來想agent寫資料到後臺資料庫,server端採用raft,定時統計,raft需要使用自己單獨的庫,定時任務在leader中執行,如果server端採用的不是raft,是單獨的服務,在部署多個節點的時候,需要考慮定時任務的重複執行問題,那麼需要用鎖控制。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25719946/viewspace-2853709/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 嘗試
- 【沃趣科技】MySQL高可用工具Orchestrator系列五:raft多節點模式安裝MySqlRaft模式
- 嘗試1
- 嘗試 LeetcodeLeetCode
- 嘗試Ghost
- PostgreSQL repmgr高可用叢集+keepalived高可用SQL
- 高可用高可靠系統設計中的重試機制
- 嘗試 Leetcode(二)LeetCode
- Keepalived 高可用
- EurekaServer高可用Server
- 什麼是高可用?高可用軟體哪家好?
- MySQL——MHA高可用群集部署及故障測試MySql
- MySQL高可用群集MHA部署及故障測試分析MySql
- 【DB寶19】MySQL高可用之MHA功能測試MySql
- MySQL高可用之MHA切換測試(switchover & failover)MySqlAI
- 高可用系列文章之三 - NGINX 高可用實施方案Nginx
- 嘗試手寫promisePromise
- 高可用架構架構
- MMM高可用配置
- nt高可用部署
- Redis高可用 SentinelRedis
- 高可用架構設計全面詳解(8大高可用方案)架構
- linux模擬windows嘗試LinuxWindows
- 對於 sway 的嘗試
- 高可用 proxysql + mysql MGRMySql
- mysql高可用之keepalivedMySql
- Keepalived 高可用詳解
- 高可用(keepalived)部署方案
- MHA高可用+VIP漂移
- LVS+keepalived高可用
- Mysql 5.7 MHA 高可用MySql
- 微服務高可用方案微服務
- springcloud-高可用部署SpringGCCloud
- nginx+keepalived高可用Nginx
- Redis 哨兵高可用(Sentinel)Redis
- 高可用解決方案
- HBase可用性分析與高可用實踐
- 面試官:你如何利用 MySQL Cluster 實現整體高可用?面試MySql