文章详情

短信预约信息系统项目管理师 报名、考试、查分时间动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Redis学习笔记(十四)Sentinel(哨兵)(上)

2019-07-22 15:29

关注

Redis学习笔记(十四)Sentinel(哨兵)(上)

最近谈到Redis就会听到哨兵模式,工作期间同事也分享过关于哨兵模式的知识,但由于工作忙(给自己找个借口)没有没认真看,现在恶补下,老样子还是分上篇应用,下篇看实现过程,下面我们来看下哨兵到底是啥?

哨兵模式(Sentinel)是Redis的高可用解决方案。由一个或多个Sentinel实例组成的Sentinel系统,可以监控任意多个主服务器,以及这些主服务器下的所有从服务器,当某个主服务器下线时,自动将这个主服务器下的某个从服务器升级为新的主服务器,代替下线的主服务器继续处理命令。另外Sentinel系统还会继续监视已下线的主服务器,当主服务器恢复时,它将被降级成该主服务器的从服务器。

在看哨兵模式的实现过程之前,我们先看一下哨兵的用法

我们将redis.windows.conf配置文件拷贝3份出来,改下名字便于识别:6379.conf,6380,conf,6381.conf。(这里我们模拟使用经典的三节点搭建)

6379.conf我们使用默认配置的6379端口,分别改下 6380,conf与6381.conf的端口号

 

 

 

 上一章我们使用slaveof 命令设置从节点,现在我们修改6380.conf与6391.conf,将复制命令配置在文件中,将6379作为主节点:

 

 

下面我们执行命令,启动三个节点:

redis-server.exe 6379.conf 

redis-server.exe 6380.conf 

redis-server.exe 6381.conf

 

 

 

 

 

 

 

 

 好了,现在三个节点都已经启动,并且从控台上看出,从节点已经在复制主节点的数据。

分别创建三个Sentinel配置文件:sentinel6379.conf ,sentinel6380.conf ,sentinel3381.conf

内容分别是:

 sentinel6379.conf

port 26379
#当前Sentinel服务运行的端口
port 26379  
# 哨兵监听的主服务器
sentinel monitor mymaster 127.0.0.1 6379 2
#如果在3秒内无相应,则认为主站点宕机
sentinel down-after-milliseconds mymaster 3000
#如果10秒后,mysater仍没启动过来,则启动failover 
sentinel failover-timeout mymaster 10000  
#执行故障转移时,最多有一台对新的主服务器进行同
sentinel parallel-syncs mymaster 1

sentinel6380.conf

#当前Sentinel服务运行的端口
port 26380
# 哨兵监听的主服务器
sentinel monitor mymaster 127.0.0.1 6379 2
#如果在3秒内无相应,则认为主站点宕机
sentinel down-after-milliseconds mymaster 3000
#如果10秒后,mysater仍没启动过来,则启动failover 
sentinel failover-timeout mymaster 10000  
#执行故障转移时,最多有一台对新的主服务器进行同
sentinel parallel-syncs mymaster 1

sentinel3381.conf

port 26381
# 哨兵监听的主服务器
sentinel monitor mymaster 127.0.0.1 6379 2
#如果在3秒内无相应,则认为主站点宕机
sentinel down-after-milliseconds mymaster 3000
#如果10秒后,mysater仍没启动过来,则启动failover 
sentinel failover-timeout mymaster 10000  
#执行故障转移时,最多有一台对新的主服务器进行同步
sentinel parallel-syncs mymaster 1

3、执行命令启动:

redis-server.exe sentinel6379.conf --sentinel

 

 

 redis-server.exe sentinel6380.conf --sentinel

 

 

 redis-server.exe sentinel6381.conf --sentinel

 

 

 4、校验:

先看下主服务器6379的信息:

 

 

 切换到6380与6381我们看下:

 

 

 

 

 

 现在我们模拟主服务器6379宕机(关闭掉6379的服务端),观察6380与6381的反应。

 

 

 

 

 

 从以上信息来看,6381被选举为主服务器,那么现在我们分别看下6380与6381的信息:

 

 

 此时监听信息为:

 

 

 下一步我们恢复6379看看会发生什么:

 

 

 

 现在看下监听信息:

 

此时发现6379被设置为从服务器。

 

 

现在我们redis-cli 连接到6379看下:

 

 

OK完工,暂时只模拟这一种宕机情况。

 

篇幅有些长,不知道有多少同学能看到这里。

 


 

 

每天学一点,总会有收获。

 

下一步我们看下Redis的Sentinel(哨兵)的实现过程

 

 

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯