简单总结下redis的哨兵机制
哨兵机制是什么
哨兵就是一台运行在特殊状态的redis服务器, 用来监控master节点和slave节点以及其他sentinel节点的状态, 在master节点下线时, 从slave节点中选择新的master节点
解决了什么问题
解决了redis服务端的高可用, 即master节点宕机之后, 自动切换slave节点来继续提供服务
不能解决什么问题
不能解决的数据不丢失的问题, 就是在master节点宕机时, 因为master同步数据到slave是异步同步的方式, 所以是有时间差的,在这个时间差内更新的数据会丢失掉 怎么启动哨兵服务
有两种方式启动哨兵服务 $ redis-sentinel /path/to/your/config/sentinel.conf $ redis-server /path/to/your/config/sentinel.conf —-sentinel 启动过程
初始化服务器
将普通redis服务端的代码替换为sentinel模式的代码
初始化sentinel状态
根据配置, 初始化sentinel监控的主服务器列表
创建连向主服务器的连接
会创建两个连接,
一个是命令连接, 用于向服务器发送命令
一个是专门订阅服务器的__sentinel__:hello频道
工作过程
获取各种服务器的状态并建立相应的连接
AQS是什么
AQS是什么 AQS的数据结构 什么是公平锁
Java对象比较器
MySQL中的索引
MySQL中的索引