目录
Redis 集群工作原理
1. 数据分片
2. 节点角色
3. 自动故障转移
Redis 集群通信方式
1. Gossip 协议
2. TCP 通信
MOVED 和 ASK 错误的区别
1. MOVED 错误
2. ASK 错误
Redis 集群工作原理
1. 数据分片
Redis 集群采用哈希槽(Hash Slot)来实现数据的分片存储。Redis 集群有 16384 个哈希槽,每个键通过 CRC16 算法计算出一个值,然后对 16384 取模,得到的结果就是该键对应的哈希槽编号。集群中的每个节点负责一部分哈希槽,例如节点 A 负责 0 - 5000 号哈希槽,节点 B 负责 5001 - 10000 号哈希槽,节点 C 负责 10001 - 16383 号哈希槽。
2. 节点角色
- 主节点(Master):负责处理客户端的读写请求,并管理自己负责的哈希槽。每个主节点可以有一个或多个从节点(Slave)。
- 从节点(Slave):从主节点复制数据,当主节点发生故障时,从节点可以被提升为主节点,继续提供服务,保证集群的高可用性。 </