redis cluster 實踐總結
阿新 • • 發佈:2017-07-30
監聽 截至目前 實踐 啟動 但是 -- 是什麽 size 發現
最近項目接觸到了redis cluster,現在趁著使用做一下總結,記錄一下遇到過的問題,簡單的概述一下常用到的命令和功能。
本篇文章主要是以運維的角度去講述如何去更好的規劃redis cluster和跳坑。
redis cluster 官方文檔: https://redis.io/topics/cluster-tutorial
一、redis cluster 是什麽
redis cluster是官方redis 3.0版本之後推出的集群方案,之前類似的方案還有豌豆莢的codis集群方案、twemproxy方案,
不過twemproxy有個非常大的弊端就是不能在線擴容節點,這就比較尷尬了。redis cluster發布之後,截至目前為止,redis
cluster已經達到了成熟的程度,很多企業已經在生產系統使用,替換原有的twemproxy的分片方法。
二、redis cluster 的優點
,不然集群只是分片的作用,達不到高可用的要求。
redis是使用內存的數據庫,規劃的時候可按照服務器的內存大小來規劃,我們研發說單個實例建議最大設置為20G,是官方文檔中看到的,但是我還沒找到。集群的最多節點建議是1000個。
筆者目前維護的最大的集群為: 30臺512G內存服務器,每臺服務器上啟動24個實例,共720個實例創建的一個cluster集群,副本數為1,相當於是360個
主和360個從節點。下圖為30臺機器的內存已使用的監控和整體的匯總展示。
- 支持數據分片功能,可以將數據分配到不同的實例上。
- 服務的高可用性、故障自動轉移,最大程度避免單點故障
- 在線水平擴展能力,可以在線添加節點,轉移數據等
- 無中心架構,各個節點度等。
- 降低原有的數據分片方案的復雜度,節省硬件資源
- 系統瓶頸更少,客戶端直連方式。
- 關於redis cluster實例的規劃
- 服務器數據的選擇
- 監聽地址需要註意的地方
- 不在支持多數據庫
- 參數優化
redis cluster 實踐總結