17 集群
Redis集群是Redis提供的分布式数据库方案,通过分片(sharding)来进行数据共享,并提供复制和故障转移功能
集群可以有一或多个节点
17.1 集群节点
客户端使用CLUSTER MEET < ip > < port >命令连接各个节点
客户端发送此命令发送的事情:

例子:如有三个节点127.0.0.1:7000、127.0.0.1:7001、、127.0.0.1:7002;客户端连接节点7000,发送CLUSTER MEET <127.0.0.1> <7001>和CLUSTER MEET <127.0.0.1> <7002>,7001和7002会和7000通过握手和响应握手,从而添加到7000所在集群中
17.1.1 启动节点
启动节点即启动Redis服务器集群模式,否则只是一个普通的Redis服务器
启动Redis服务器时会根据cluster-enabled配置选项是否为yes来决定是否开启服务器的集群模式:

节点会继续使用单机模式所有的服务器组件,添加了额外的集群模式下才会使用的数据,使用cluster.h/clusterNode结构、cluster.h/clusterLink结构和cluster.h/clusterState来保存;
节点的serverCron函数额外调用集群模式特有的clusterCron函数,负责执行在集群模式下需要执行的常规操作,如

本文详细介绍了Redis集群的节点管理和槽指派。启动节点时,根据cluster-enabled配置选项开启集群模式。节点间使用CLUSTER MEET命令建立连接。集群中,16384个槽被分配给节点处理,CLUSTER ADDSLOTS命令用于指派槽。节点保存槽指派信息并传播给其他节点,确保所有节点都知道槽的归属。

537

被折叠的 条评论
为什么被折叠?



