緩存中間件Redis Cluster集群模式

1. Redis Cluster簡介

1.1 什么是集群模式?

集群是指:

  • 多個主從(sharding-分片)模式的組合;
  • 更大的容量,更好的性能;
  • 更高的可用性;

常見的集群管理模式:

  • 中心化
  • 去中心化
1.2 官方文檔

官方原理: https://redis.io/topics/cluster-spec
官方使用: https://redis.io/topics/cluster-tutorial

1.3 Redis Cluster 特點
  1. 去中心化,Gossip提供通信基礎集群模式
  2. 客戶端和后端直連交互
  3. 集群自動分片路由
  4. 集群自動故障恢復
  5. 集群支持彈性伸縮
1.4 Redis Cluster 優(yōu)缺點

2. Redis Cluster 實現(xiàn)機制

2.1 Redis Cluster 相關配置
  1. cluster-enabled yes
    開啟Redis Cluster模式
  2. cluster-config-file nodes-6379.conf
    cluster node節(jié)點元信息配置文件,路徑是dir
  3. cluster-node-timeout 15000
    多少毫秒連接不上后,判斷該node狀態(tài)為不可用
  4. cluster-replica-validity-factor 10
    當slave和master失聯(lián)時間超過(node-timeout * replica-validity-factor) + repl-ping-replica-period + node-timeout時間時,就不會自動failover,因為此時slave上的數(shù)據(jù)可能會比較舊了。這種情況一般發(fā)生在主從出現(xiàn)分區(qū)的時候
  5. cluster-migration-barrier 1
    當集群中出現(xiàn)了只有主一個副本的分片時,其他主從分片如果有大于cluster-migration-barrier分片數(shù)時,可以分配出一個從副本給孤立的主。提升整體集群的高可用
  6. cluster-require-full-coverage yes
    控制集群高可用,設置為yes,則允許在分片不可用或者集群路由未完全分配的情況下,其他的分片仍然提供服務
  7. cluster-replica-no-failover no

控制是否自動failover,在主掛掉的情況下

2.2 Redis Cluster集群路由
  • 分片Sharding:
    16384個Slots
    (不多不少,這里面其實是和gossip協(xié)議的通信成本和集群狀態(tài)收斂有關)

  • 集群路由過程


2.3 Redis Cluster節(jié)點探活
2.4 故障恢復
  • 自動failover


  • 手動failover


  • Force failover


  • Takeover failover


3. 更多內容,可以查看

Redis集群分片存儲 - cluster


如果覺得有收獲,歡迎點贊和評論,更多知識,請點擊關注查看我的主頁信息哦~

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容