Redis的集群

Redis的集群

1.1第一种集群方式–主从模式

配置主从模式—配从不配主。

模拟: 一台linux系统,启动三台redis服务.依靠端口号:6380主节点 6381从节点 6382从节点

(1)复制三个redis配置文件放入master-slave目录
Redis的集群_第1张图片
(2)修改三个文件的配置

bind 0.0.0.0 -::1 # 关闭保护模式
protected-mode no
port 6380 | 6381 | 6382
dbfilename dump6380.rdb | dump6381.rdb | dump6382.rdb
appendfilename “appendonly6380.aof”
要修改三次,每次修改为对应的端口值 。

(3)启动三台redis并查看进程
Redis的集群_第2张图片
(4)三台客户端访问redis相应的服务器

redis-cli -p 6380 -h #IP地址
redis-cli -p 6381 -h #IP地址
redis-cli -p 6382 -h #IP地址
Redis的集群_第3张图片
(5)查看redis的角色

info replication
Redis的集群_第4张图片
可以看出三个都是相同的master身份。下面就需要配置一下。

(6)配置主从关系—从节点

slaveof #主节点ip 端口号
这里我将端口号为6380设为主节点,6381和6382设为从节点。只需要在两个从节点运行下面语句即可。
Redis的集群_第5张图片
运行完再次查看各个的角色
Redis的集群_第6张图片

(7) 往节点添加数据
可以看出只有主节点具备读写功能,从节点只具备读的功能。
Redis的集群_第7张图片
1.2第二种集群模式—哨兵模式
上面的主从模式的缺点:----如果主节点宕机后,从节点无法变成主节点,该redis服务就无法执行写操作了。
Redis的集群_第8张图片

           这里的哨兵有两个作用

通过发送命令,让Redis服务器返回监控其运行状态,包括主服务器和从服务器。

当哨兵监测到master宕机,会自动将slave切换成master,然后通过发布订阅模式通知其他的从服务器,修改配置文件,让它们切换主机。

    然而一个哨兵进程对Redis服务器进行监控,可能会出现问题,为此,我们可以使用多个哨兵进行监控。各个哨兵之间还会进行监控,这样就形成了多哨兵模式。

(1)配置文件在Redis安装目录下有一个sentinel.conf文件
在这里插入图片描述
(2)配置完后 开启哨兵模式

redis-sentinel sentinel.conf
(3)主动关闭主进程
Redis的集群_第9张图片
在这里插入图片描述
可以看出主线程从6382变为6380。
1.3第三种模式—集群模式
哨兵模式的缺点: 它只有一个主节点—如果现在写操作并发高,那么还会导致主节点压力过大。

(1)在安装目录下面新建一个文件夹colony复制配置文件
Redis的集群_第10张图片
(2)配置文件

修改配置文件: 都需要改

bind 0.0.0.0
port 7001
daemonize yes

打开aof 持久化

appendonly yes

开启集群

cluster-enabled yes

集群的配置文件,该文件自动生成

cluster-config-file nodes-7001.conf

集群的超时时间

cluster-node-timeout 5000
(3)启动redis
Redis的集群_第11张图片
为6台redis配置槽以及主从关系
redis-cli --cluster create --cluster-replicas 1 192.168.153.128:7001 192.168.153.128:7002 192.168.153.128:7003 192.168.153.128:7004 192.168.153.128:7005 192.168.153.128:7006

测试:

redis-cli -c -h 127.0.0.1 -p 7001
Redis的集群_第12张图片
可以看出在任意节点都可以实现读写操作,测试成功。

你可能感兴趣的:(redis,数据库,缓存)