單機有什麼問題
機器故障 數據如何同步的問題(高可用)容量瓶頸QPS瓶頸 (分布式)什麼是主從複製一主一從 一主多從作用數據副本拓展讀性能總結
一個master可以有多個slave一個slave只能有一個master數據流向是單向的,master到slave複製的配置兩種實現方式slaveof 命令redis-6380>slaveof 127.0.0.1 6379 okredis-6380>slaveof no one #斷掉之前的連接配置slaveof ip portslave-read-only yes| 方式 | 命令 | 配置 || —— | —— | —— || 優點 | 無需重啟 | 統一配置 || 缺點 | 不便於管理 | 需要重啟 |全量複製和部分複製
runid 和 複製偏移量redis-cli -p 6379 info replication
全量複製
全量複製開銷bgsave 時間rdb文件網絡傳輸時間從節點清空時間從節點加載rdb的時間可能的aof重寫時間部分複製
故障處理
自動故障轉移slave宕掉master宕掉讓slave成為master,另一臺slave slaveof 新的master開發運維常見問題
讀寫分離
可能的問題
複製數據延遲讀到過期數據從節點故障主從配置不一致例如maxmemory不一致:丟失數據例如數據結構優化參數(例如hash-max-ziplist-entries):內存不一致規避全量複製第一次不可避免小主節點,低峰節點運行id不匹配主節點重啟(運行id變化)故障轉移,例如哨兵和集群複製積壓緩衝區不足網絡中斷,部分複製無法滿足增大複製緩衝區配置rel_backlog_size規避複製風暴單主節點複製風暴問題:主節點重啟,多從節點複製解決:更換複製拓撲
單機器複製風暴如右圖:機器宕機後,大量全量複製主節點分散多機器