突破Java面试(23-9) - 深入解析Redis哨兵底层原理
# 0 Github
1 sdown和odown转换机制
两种失败状态
1.1 概念
- sdown主观宕机
一个哨兵自己觉得一个master宕机 - odown客观宕机
quorum数量的哨兵都觉得一个master宕机
1.2 达成条件
- sdown
一个哨兵ping一个master,超过is-master-down-after-milliseconds
- odown
一个哨兵在指定时间内,收到了quorum指定数量的其他哨兵也认为那个master是sdown了,那么就认为是odown
2 自动发现机制
通过Redis的pub/sub实现哨兵互相之间的发现,每个哨兵都会往__sentinel__:hello
这个channel发一个消息,此时所有其他哨兵都可消费到该消息,于是感知到其他哨兵的存在.
每隔2s,哨兵都会往自己监控的某个master+slaves对应的__
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
阿里云人脸识别公测使用说明
概述 之前阿里云人脸识别只提供人脸检测,人脸属性及人脸对比三个API接口,关于这方面的介绍及使用细节,可以参考阿里云人脸识别使用流程简介,之前使用的服务地址为:dtplus-cn-shanghai.data.aliyuncs.com。目前新版本加入了1:N人脸查找的功能,新版本还处于公测阶段,服务地址:face.cn-shanghai.aliyuncs.com。下面主要介绍如何使用新版本的地址调用之前的三个API的功能。 使用流程 1、服务开通及1:N人脸识别使用阿里云人脸识别 1:N 使用简明示例 2、接口调用Code示例 import com.aliyuncs.CommonRequest; import com.aliyuncs.CommonResponse; import com.aliyuncs.DefaultAcsClient;
- 下一篇
Enum介绍及高级使用
Enum 的全称为 enumeration, 是我们较为常用的类,存放在 java.lang 包中。 public enum EnumTest { WALK(1, "慢走"), QUICK(2, "疾步"), RUN(3, "跑步"); private Integer code; private String desc; EnumTest(Integer code, String desc) { this.code = code; this.desc = desc; } public Integer getCode() { return code; } public void setCode(Integer code) { this.code = code; } } 可以用if/else、switch来遍历 public static EnumTest getByCode(int code) { for(EnumTest et : EnumTest.values()) { if (et.getCode().intValue() == code) { System.out.println...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- CentOS关闭SELinux安全模块
- CentOS7设置SWAP分区,小内存服务器的救世主
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作