Redis学习之集群

本文深入探讨Redis集群的实现机制,包括无中心结构、槽(slots)的概念及其分配方式,以及主从节点的角色和故障转移。Redis-Cluster通过CRC16算法进行数据分布,哨兵系统则负责监控和自动故障恢复,确保高可用性。然而,集群扩容的复杂性是其潜在挑战。
摘要由CSDN通过智能技术生成

Redis集群的搭建,我已经在前面文章介绍过了,这篇文章,就让我们来学习一下Redis的集群是如何实现的。

Redis最开始的集群搭建是依靠ZK的,但是在 3.0 之后版本支持redis-cluster集群。Redis-Cluster采用无中心结构,即每个节点保存数据和整个集群状态,每个节点都和其他所有 节点连接。

那么我们是如何知道,我们的数据保存在哪里的呢?这样的话,我们就需要了解另一个概念,槽。

Redis的集群里面有着一个槽(slots)的概念,他的大小是10的14次方(16384 ),每当我们向集群中set一个值的时候,我们就会通过 CRC16 算法得到一个值,然后再对16384 这个值取模,最后得到的值就是给他分配到值的槽的位置。同理,我们再读取数据的时候,也是通过这种方式获取的。

然后在集群创建的时候,我们的每个主节点就已经有了自己分配好的槽了(但是我还不知道他们初始化的时候是如何分配的槽,网上也没找到),但是只有主节点才有槽,所以,我们的集群中每个主节点,都必须要分配从节点&#x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值