Redis從入門到深入-叢集(24)
阿新 • • 發佈:2020-07-28
1. 叢集
1.1 現狀問題
業務發展過程中遇到的峰值瓶頸
- redis提供的服務PS可以達到10萬/秒, 當前業務OPS已經達到20萬/秒
- 記憶體單機容量達到256G,當前業務需求記憶體容量1T
- 使用叢集的方式可以快速解決上述問題
1.2 叢集架構
叢集就是使用網路將若干臺計算機聯通起來,並提供統一的管理方式,使其對外呈現單機的服務效果
1.3 叢集作用
- 分散單臺伺服器的訪問壓力,實現負載均衡
- 分散單臺伺服器的儲存壓力,實現可擴充套件性
- 降低單臺伺服器宕機帶來的業務災難
2. redis叢集結構設計
-
通過演算法設計, 計算出key應該儲存的位置
-
將所有的儲存空間計劃切割成16384份,每臺主機儲存一部分
每份代表的是一個儲存空間, 不是一個key的儲存空間
-
將key按照計算出的結果放到對應的儲存空間
2.1 資料儲存設計
2.2 叢集內部通訊設計
3. Cluster叢集架構搭建
- 設定加入cluster, 成為其中的節點
cluster-enabled yes|no
- cluster配置檔名, 該檔案屬於自動生成, 僅用於快速查詢檔案並查詢檔案內容
cluster-config-file<filename>
- 節點服務響應超時時間,用於判定該節點是否下線或切換為從節點
cluster-node-timeout<milliseconds>
- master連線的slave最小數量
cluster-migration-barrier<count>