(目录)
Redis Cluster集群模式
- Cluster模式是Redis3.0开始推出
- 采用无中心结构,
每个节点保存数据和整个集群状态, 每个节点都和其他所有节点连接
- 官方要求:至少6个节点才可以保证高可用,即3主3从;扩展性强、更好做到高可用
- 各个节点会互相通信,采用gossip协议交换节点元数据信息
- 数据分散存储到各个节点上
Redis Cluster 集群 与 Redis Sentinel 有什么不同?
区别:
哨兵模式
: 每个节点持有全量数据,且数据保持一致,为系统Redis高可用
集群模式
: 每个节点主数据不同,是数据的子集.利用多台服务器构建集群提高超大规模数据处理能力,同时提供高可用支持
Redis Cluster 集群如何将数据分散存储
Redis Cluster 集群采用
Hash Slot(哈希槽)分配
Redis集群预分好
16384个槽
,初始化集群时平均规划给每一台Redis Master
为什么是 Hash slot 是16384?
在Redis 集群中槽分配的元数据会不间断的在Redis集群中分发,以保证所有节点都知晓槽的分配情况
16384=16k,在发送心跳包时使用char进行bitmap压缩后是2k大小(2 * 8 (8 bit) * 1024(1k) = 16K),通常我们不会部署超过10000个Redis主节点,因此16384就够用了