天天看点

哨兵架构&redisCluster-Redis(五)

作者:后端从入门到精通

上篇文章介绍了主从架构以及lua脚本。

一、Sentinel集群

主从的搭建我们已经完成,但如果主节点宕机,这时候导致整个redis服务不可用怎么办呢?

运维可以手动重启主节点,或者手动去修改从节点,把从节点改为主节点。

但redis本身由哨兵,我们可以通过配置哨兵来监听主节点是否宕机,宕机发起选举新的主节点。

第一步:cp sentinel.conf sentaine_26379.conf

第二步:

port 26379

daemonize yes

pidfile “/var/run/redis-sentinel-26379.pid”

logfile “26379.log”

dir “/user/local/redis-5.0.3/data”

sentinel monitor mymaster 192.168.0.70 6379 2

此处mymaster名字是可以随便取的,也可以取mymaster1 或者matser2

(这里2代表什么意思呢?

我们正常需要开启三个哨兵,当其中两个哨兵与主节点断开连接,则就发起重新选举。)

哨兵架构&redisCluster-Redis(五)

由图可以看到,我搭建的sentinel已经启动成功,它本质也是一个redis服务。

StringRedisTemplate继承RedisTemplate,前者采用string序列化策略,保存的key和value都是序列化,后者是jdk序列化策略。

一般redis单节点配置不会超过10个g。

因为如果配置rdb或者重写的时候,内存特别大的时候,会给主节点造成非常大的压力,所以要小于10个G。

二、jedisCluster

哨兵架构&redisCluster-Redis(五)

高可用集群架构,与前面的哨兵最大区别是,这边会分片放,前面哨兵如果master放10个g,那么这里的cluster则会分成三部分,分别为3个g,3个g,4个g。

第一步:mkdir redis-cluster

mkdir 8001 8004

第二步:cp redis.conf 到8001下面

修改配置:

daemonize yes

Port 8001

Dir /usr/local/redis-cluster/8001/

# 启动集群命令yes

Cluster-enabled yes

Cluster-config-file nodes-8001.conf

Cluster-node-timeout 5000

# bind 127.0.0.1

# 关闭保护模式

Protected-mode no

appendonly yes

# 设置密码如下

# 设置redis访问密码

Requirepass keying

# 设置集群节点间访问密码

Masterauth keying

第三步:如上复制到8004然后修改配置

哨兵架构&redisCluster-Redis(五)

搭建好之后启动,发现8001和8004启动的服务进程和之前的不同,后面有cluster

继续阅读