1. 程式人生 > >Redis Cluster 運維常見問題

Redis Cluster 運維常見問題

1.叢集完整性

cluster-require-full-coverage 預設yes
大部分業務無法容忍。

2.頻寬消耗

官方建議:1000節點 .cluster-node-timeout.
節點之間通過ping/pong訊息
不可忽視的頻寬消耗

3.pub/sub 廣播

4.叢集傾斜:記憶體不均勻

1.資料傾斜
節點和槽的分配不均【不常見】
包含bigkey
不同槽對應鍵值數量比較大【CRC16 比較均勻的】/hashtag 可能性較大

2.請求傾斜
熱點key: 避免bigkey ,不要使用hash_tag,本地快取+MQ

3.讀寫分離:很複雜,成本很高,擴大叢集功能
只讀連線:叢集的從節點不接受任何讀寫請求

【readonly 實現】。

資料遷移

redis-trib.rb import.
不支援斷點傳輸,單執行緒,不支援線上遷移
線上遷移:
redis-migrate-tool(偽裝成slave 中轉站) redis-port

叢集限制

key 批量操作有限:例如mget 、mset 必須一個slot
key 事務和lua 支援有限:操作的Key 必須同一個節點
不支援多個數據庫
複製只支援一層:不支援樹形複製結構