【Redis】17.Cluster集群结构搭建
生活随笔
收集整理的這篇文章主要介紹了
【Redis】17.Cluster集群结构搭建
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
集群簡介
現狀問題
業務發展過程中遇到的峰值瓶頸
- redis提供的服務OPS可以達到10萬/秒,當前業務OPS已經達到20萬/秒
- 內存單機容量達到256G,當前業務需求內存容量1T
- 使用集群的方式可以快速解決上述問題
集群架構
- 集群就是使用網絡將若干臺計算機聯通起來,并提供統一的管理方式,使其對外呈現單機的服務效果。
集群的作用
- 分散單臺服務器的訪問壓力,實現負載均衡
- 分散單臺服務器的存儲壓力,實現可擴展性
- 降低單臺服務器宕機帶來的業務災難
Redis集群結構設計
數據存儲設計
- 通過算法設計,計算出key 應該保存的位置
- 將所有的存儲空間計劃切割成16384份,每臺主機保存一部分
每份代表的使一個存儲空間,不是一個key的保存空間 - 將key按照計算出的結果放到對應的存儲空間
所謂的增節點或者減節點就是改變槽的位置。
集群內部通訊設計
- 各個數據庫相互通信,保存各個庫中槽的編號數據
- 一次命中,直接返回
- 一次未命中,告知具體位置,最多兩次才命中
-
總結:- 槽用來區分數據的存儲空間
- key過來做加密以后確定存儲的位置
- 過來以后一次或者兩次命中就可以找到數據,提高數據訪問性能
Cluster配置
- 設置加入cluster,成為其中的節點
cluster-enabled yes|no
- cluster配置文件名,該文件屬于自動生成,僅用于快速查找文件并查詢文件內容
cluster-config-file < filename>
- 節點服務響應超時時間,用于判定該節點是否下線或切換為從節點
cluster-node-timeout < milliseconds>
- master連接的slave最小數量
cluster-migration-barrier < count>
Cluster節點客戶端數據放置和讀取命令
數據放置
redis-cli -c
數據讀取
redis-cli -c -p 該客戶端對應的主機端口號
以上“-c”必須加,否則不能實現重定向到key加密計算后的slot中取讀寫,只能對對應slot所在的主機端口號進行命令,讀寫才有效執行。
Cluster節點操作命令
- 查看集群節點信息
cluster nodes
- 進入一個從節點redis,切換其主節點
cluster replication < master-id>
- 發現一個新節點,新增主節點
cluster meet ip:port
- 忽略一個沒有solt的節點
cluster forget
- 手動故障轉移
cluster failover
總結
以上是生活随笔為你收集整理的【Redis】17.Cluster集群结构搭建的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Redis】16.Redis哨兵
- 下一篇: 【Redis】18.缓存预热、缓存雪崩、