Sentinel(哨兵)是Redis 的高可用性解决方案( 三 )
# Replicationrole:masterconnected_slaves:1slave0:ip=127.0.0.1,port=6381,state=online,offset=13751,lag=0master_repl_offset:13751repl_backlog_active:1repl_backlog_size:1048576repl_backlog_first_byte_offset:2repl_backlog_histlen:13750
我们可以看到 6382 , 重slave 荣升为master
127.0.0.1:6382> set name jaycekonOK
原本的没有权限写 , 也得到了相应的权限
5、重连Master大家可能会好奇 , 如果master 重连之后 , 会不会抢回属于他的位置 , 答案是否定的 , 就比如你被一个小弟抢了你老大的位置 , 他肯给回你这个位置吗 。 因此当master 回来之后 , 他也只能当个小弟
文章插图
4、Sentinel 总结一、Sentinel的作用:A、Master 状态监测
B、如果Master 异常 , 则会进行Master-slave 转换 , 将其中一个Slave作为Master , 将之前的Master作为Slave
C、Master-Slave切换后 , master_redis.conf、slave_redis.conf和sentinel.conf的内容都会发生改变 , 即master_redis.conf中会多一行slaveof的配置 , sentinel.conf的监控目标会随之调换
二、Sentinel的工作方式:1):每个Sentinel以每秒钟一次的频率向它所知的Master , Slave以及其他 Sentinel 实例发送一个 PING 命令 2):如果一个实例(instance)距离最后一次有效回复 PING 命令的时间超过 down-after-milliseconds 选项所指定的值 ,则这个实例会被 Sentinel 标记为主观下线 。3):如果一个Master被标记为主观下线 , 则正在监视这个Master的所有 Sentinel 要以每秒一次的频率确认Master的确进入了主观下线状态 。4):当有足够数量的 Sentinel(大于等于配置文件指定的值)在指定的时间范围内确认Master的确进入了主观下线状态 ,则Master会被标记为客观下线 5):在一般情况下 ,每个 Sentinel 会以每 10 秒一次的频率向它已知的所有Master , Slave发送 INFO 命令 6):当Master被 Sentinel 标记为客观下线时 , Sentinel 向下线的 Master 的所有 Slave 发送 INFO 命令的频率会从 10 秒一次改为每秒一次 7):若没有足够数量的 Sentinel 同意 Master 已经下线 ,Master 的客观下线状态就会被移除 。若 Master 重新向 Sentinel 的 PING 命令返回有效回复 ,Master 的主观下线状态就会被移除 。
- 对手|一加9Pro全面曝光,或是小米11最大对手
- 行业|现在行业内客服托管费用是怎么算的
- 王兴称美团优选目前重点是建设核心能力;苏宁旗下云网万店融资60亿元;阿里小米拟增资居然之家|8点1氪 | 美团
- 手机基带|为了5G降低4G网速?中国移动回应来了:罪魁祸首不是运营商
- 技术|做“视频”绿厂是专业的,这项技术获人民日报评论点赞
- 互联网|苏宁跳出“零售商”重组互联网平台业务 融资60亿只是第一步
- 体验|闭上眼睛点外卖是什么感觉?时隔一年再次体验,进步令人欣慰
- 再次|华为Mate40Pro干瞪眼?P50再次曝光,这次是真香!
- 当初|这是我的第一部华为手机,当初花6799元买的,现在“一文不值”?
- 无国界|嘴上说着支持华为,却为苹果贡献了2000亿!还真是科技无国界啊?