1. 程式人生 > 實用技巧 >Redis從入門到深入-叢集(24)

Redis從入門到深入-叢集(24)

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>