【IT老齐028】Redis Cluster集群模式

【IT老齐028】Redis Cluster集群模式

1709641427846

  • Cluster模式是Redis3.0开始推出
  • 采用无中心结构,每个节点保存数据和整个集群状态,每个节点都和其他所有节点连接
  • 官方要求:至少6个节点才可以保证高可用,即3主3从;扩展性强更好做到高可用
  • 各个节点会互相通信,采用gossip协议交换节点元数据信息
  • 数据分散存储到各个节点上

Redis Cluster 集群 与 Redis Sentinel 的区别

1709641550542

1709641563374

Redis Cluster 集群如何将数据分散存储

1709641633763

为什么是16384?
在Redis 集群中槽分配的元数据会不间断的在Redis集群中分发,以保证所有节点都知晓槽的分配情况
16384=16k,在发送心跳包时使用char进行bitmap压缩后是2k (28(8 bit)1024(1k) = 16K)
通常我们不同部署超过1000个Redis主节点,因此16384就够用了

Redis Cluster 集群构建流程

redis-cluster.conf

# 是否开启集群
cluster-enabled yes
# 生成的node文件,记录集群节点信息,默认为nodes.conf
cluster-config-file nodes.conf
# 节点连接超时时间
cluster-node-timeout 20000
# 集群节点映射端口
cluster-announce-port 6379
#集群节点总线端口,节点之间互相通信,常规端口+1万
cluster-announce-bus-port 16379
EOF
cd /usr/local/redis-stable
./src/redis-server redis-cluster.conf

shell

/src/redis-cli -a 123456 --cluster create
192.168.31.102:6379 192.168.31.103:6379 192.168.31.104:6379
192.168.31.110:6379 192.168.31.111:6379 192.168.31.112:6379
--cluster-replicas 1

1709642394167

1709642429337

1709642614343

1709642670952

posted @ 2024-03-14 20:00  Faetbwac  阅读(12)  评论(0编辑  收藏  举报