redis docker 搭建哨兵模式

哨兵是什么?

sentinel哨兵是特殊的redis服务,不提供读写服务,主要用来监控redis实例节点。

哨兵模式架构中,client端在首次访问Redis服务时,实际上访问的是哨兵(sentinel),sentinel会将自己监控Redis实例的master节点信息返回给client端,client后续就会直接访问Redis的master节点,并不是每次都从哨兵处获取master节点的信息。

sentinel会实时监控所有的Redis实例是否可用,当监控到Redis的master节点发生故障后,会从剩余的slave节点中选举出一个作为新的master节点提供服务,并将新master节点的地址通知给client端,其他的slave节点会通过slaveof命令重新挂载到新的master节点下。当原来的master节点恢复后,也会作为slave节点挂在新的master节点下

个人理解哨兵就是监控redis主从集群的一种架构,监控的同时保证客户端链接最新的主redis节点
redis docker 搭建哨兵模式_第1张图片

哨兵架构搭建

首先大家redis主从集群,可以参考redis docker搭建主从复制,我是搭建了1主,2从节点

doker 启动哨兵 最少3台

docker run --name redis-sentinel-16379 -p 16379:16379 --restart=always -v /home/tools/redis/sentinel/16379/data:/data -v /home/tools/redis/sentinel/16379/sentinel.conf:/etc/sentinel.conf -d redis:6.0 redis-sentinel /etc/sentinel.conf

docker run --name redis-sentinel-16380 -p 16380:16380 --restart=always -v /home/tools/redis/sentinel/16380/data:/data -v /home/tools/redis/sentinel/16380/sentinel.conf:/etc/sentinel.conf -d redis:6.0 redis-sentinel /etc/sentinel.conf

docker run --name redis-sentinel-16381 -p 16381:16381 --restart=always -v /home/tools/redis/sentinel/16381/data:/data -v /home/tools/redis/sentinel/16381/sentinel.conf:/etc/sentinel.conf -d redis:6.0 redis-sentinel /etc/sentinel.conf

复制相同的sentinel.conf配置文件,修改对应的端口即可参考如下

#不限制ip
bind 0.0.0.0
    
# 让sentinel服务后台运⾏
#daemonize yes
 
 # 禁止保护模式
#protected-mode no

# sentinel monitor    
# 配置监听的主服务器,master-redis-name代表服务器的名称,master-redis-ip代表监控的主redis服务,master-redis-port代表端⼝
# quorum是一个数字,指明当有多少个sentinel认为一个master失效时(值一般为:sentinel总数/2 + 1),master才算真正失效
sentinel monitor mymaster 192.168.0.134 6381 2

#哨兵端口号 16379 16380 16381
port 16379

# sentinel auth-pass定义服务的密码,mymaster是服务名称,123456是Redis服务器密码
# sentinel auth-pass mymaster 123456
    
#超过5秒master还没有连接上,则认为master已经停⽌
#sentinel down-after-milliseconds mymaster 5000
    
#如果该时间内没完成failover操作,则认为本次failover失败
#sentinel failover-timeout mymaster 180000

#sentinel parallel-syncs mymaster 1

logfile "sentinel.log"

进入哨兵容器执行 redis-cli -p 16379 查看哨兵信息 info
redis docker 搭建哨兵模式_第2张图片

你可能感兴趣的:(redis)