栏目分类:
子分类:
返回
文库吧用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
文库吧 > IT > 软件开发 > 后端开发 > Java

Redis哨兵(sentinel)模式

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Redis哨兵(sentinel)模式

        Redis的的主从模式中我们了解到当master服务器宕机后slave服务器并不会自动接管master服务器而是继续等待master服务器的开启,或者需要手工将slave服务器通过执行slaveof no one 命令才能转变为master服务器,而Redis的哨兵模式就可以解决这个问题。

        哨兵模式就是监控所有master和slave服务器,当master服务器异常则会从slave服务器中选举一台作为master服务器同时其他salve服务器也将会被重新挂在到新的master服务器上,而当原来的master服务器恢复后也将作为slave服务器挂载在新的master服务器下。client客户端在首次访问Redis服务时其实访问的是Redis哨兵(sentinel),sentinel会将自己监控的Redis实例的master节点信息返回给client客户端,后续客户端就会直接访问master节点。

哨兵模式的选举规则

        1. 选择优先级最高的服务器,在redis.conf配置文件中 slave-priority 值越小优先级越高。

        2. 当优先级一样时,获取原主机的数据量最全的服务器。

        3. 当1和2都一样时选择redis实例启动时runid最小的服务器。

Redis哨兵模式配置

这里我用的是一台服务器以不同的端口作为多台服务器。

1. 在Redis配置文件目录下创建一个 sentinel.conf 文件,在配置文件中添加下列配置。

sentinel monitor myredis 127.0.0.1 6379 1   

myredis为自己对哨兵取名  

127.0.0.1 6379 哨兵需要监控的主服务器

1 代表当主服务器宕机,选举时需要几台服务器通过选举,一般这个值需大于主从服务器数量的一半 ,这里我们只有3台服务器(1主2从的架构)

2. 开启哨兵

redis-sentinel  sentinel.conf

3. 把6379这台master服务器 shutdown后,sentinel出现以下结果。

 如图可以看出sentinel的执行过程,监控到6379宕机后,选举了6380作为master服务器,并将6381挂在到了6380上。

4. 查看6380和6381这两台服务器的信息。

5. 将原6379重新启动,发现6379挂载在了6380上。

以上演示了Redis哨兵模式的过程,在实际应用中一般都是多台服务器(一主n从的架构),同时sentinel也可以部署集群以确保哨兵的绝对有效。 

转载请注明:文章转载自 www.wk8.com.cn
本文地址:https://www.wk8.com.cn/it/1036580.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 wk8.com.cn

ICP备案号:晋ICP备2021003244-6号