上篇文章介绍了主从架构以及lua脚本。
主从架构&lua脚本-Redis(四)https://blog.csdn.net/ke1ying/article/details/131159229
- 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代表什么意思呢?
我们正常需要开启三个哨兵,当其中两个哨兵与主节点断开连接,则就发起重新选举。)
由图可以看到,我搭建的sentinel已经启动成功,它本质也是一个redis服务。
StringRedisTemplate继承RedisTemplate,前者采用string序列化策略,保存的key和value都是序列化,后者是jdk序列化策略。
一般redis单节点配置不会超过10个g。
因为如果配置rdb或者重写的时候,内存特别大的时候,会给主节点造成非常大的压力,所以要小于10个G。
二、jedisCluster
高可用集群架构,与前面的哨兵最大区别是,这边会分片放,前面哨兵如果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然后修改配置
搭建好之后启动,发现8001和8004启动的服务进程和之前的不同,后面有cluster