Redis6
12.1)存在问题
容量不够,redis如何进行扩容?
并发写操作, redis如何分摊?
另外,主从模式,薪火相传模式,主机宕机,导致ip地址发生变化,应用程序中配置需要修改对应的主机地址、端口等信息;之前通过代理主机来解决,但是redis3.0中提供了解决方案——就是无中心化集群配置。
代理主机如下图:【需要8台服务器】
无中心化集群如下图:【需要6台服务器】
12.2)集群简介
Redis 集群实现了对Redis的水平扩容,即启动N个redis节点,将整个数据库分布存储在这N个节点中,每个节点存储总数据的1/N。
Redis 集群通过分区(partition)来提供一定程度的可用性(availability): 即使集群中有一部分节点失效或者无法进行通讯, 集群也可以继续处理命令请求。
12.3)模拟搭建Redis集群
12.3.1)删除持久化数据
将相关目录下的rdb和aof文件都删除掉。
12.3.2)创建实例
创建11079、11080、11081、11089、11090和11091总共6个实例
12.3.2.1)配置基本信息
创建相应的配置文件,以 redis11091.conf 为例
include /root/myredis/redis.conf
pidfile "/var/run/redis_11091.pid"
port 11091
dbfilename "dump11091.rdb"
# 打开集群模式
cluster-enabled yes
# 设定节点配置文件名
cluster-config-file nodes-11091.conf
# 设定节点失联时间,超过该时间(毫秒),集群自动进行主从切换
cluster-node-timeout 15000
依次修改其余配置文件:
-rw-r--r-- 1 root root 196 Apr 21 22:19 redis11079.conf
-rw-r--r-- 1 root root 196 Apr 21 22:23 redis11080.conf
-rw-r--r-- 1 root root 196 Apr 21 22:25 redis11081.conf
-rw-r--r-- 1 root root 196 Apr 21 22:26 redis11089.conf
-rw-r--r-- 1 root root 196 Apr 21 22:26 redis11090.conf
-rw-r--r-- 1 root root 196 Apr 21 22:27 redis11091.conf
12.3.2.2)启动上述redis服务
[root@VM-20-6-centos myredis]# ps -ef | grep redis
root 17788 1 0 00:31 ? 00:02:22 redis-sentinel *:26379 [sentinel]
root 31614 26503 0 22:31 pts/1 00:00:00 grep --color=auto redis
[root@VM-20-6-centos myredis]# redis-server redis11079.conf
[root@VM-20-6-centos myredis]# redis-server redis11080.conf
[root@VM-20-6-centos myredis]# redis-server redis11081.conf
[root@VM-20-6-centos myredis]# redis-server redis11089.conf
[root@VM-20-6-centos myredis]# redis-server redis11090.conf
[root@VM-20-6-centos myredis]# redis-server redis11091.conf
[root@VM-20-6-centos myredis]# ll
total 144
-rw-r--r-- 1 root root 114 Apr 21 22:56 nodes-11079.conf
-rw-r--r-- 1 root root 114 Apr 21 22:56 nodes-11080.conf
-rw-r--r-- 1 root root 114 Apr 21 22:56 nodes-11081.conf
-rw-r--r-- 1 root root 114 Apr 21 22:56 nodes-11089.conf
-rw-r--r-- 1 root root 114 Apr 21 22:56 nodes-11090.conf
-rw-r--r-- 1 root root 114 Apr 21 22:56 nodes-11091.conf
-rw-r--r-- 1 root root 319 Apr 21 22:56 redis11079.conf
-rw-r--r-- 1 root root 196 Apr 21 22:23 redis11080.conf
-rw-r--r-- 1 root root 319 Apr 21 22:56 redis11081.conf
-rw-r--r-- 1 root root 196 Apr 21 22:26