当前位置: 首页 > wzjs >正文

淘宝便宜的团购网站建设班级优化大师是干什么用的

淘宝便宜的团购网站建设,班级优化大师是干什么用的,个人博客网站开发的原因,尚品本色木门网站是哪个公司做的一、是什么 吹哨人巡查监控后台master主机是否故障,如果故障了根据$\textcolor{red}{投票数}$自动将某一个从库转换为新主库,继续对外服务作用:俗称无人值守运维官网理论:High availability with Redis Sentinel | Docs 二、能干…

一、是什么

  1. 吹哨人巡查监控后台master主机是否故障,如果故障了根据$\textcolor{red}{投票数}$自动将某一个从库转换为新主库,继续对外服务
  2. 作用:俗称无人值守运维
  3. 官网理论:High availability with Redis Sentinel | Docs

二、能干嘛

  1. 主从监控:监控主从redis库运行是否正常
  2. 消息通知:哨兵可以将故障转移的结果发送给客户端
  3. 故障转移:如果master异常,则会进行主从切换,将其中一个slave作为新master
  4. 配置中心:客户端通过连接哨兵来获得当前Redis服务的主节点地址

三、怎么玩(案例演示实战步骤)

(1)Redis Sentinel架构,前提说明

  1. 3个哨兵:自动监控和维护集群,不存放数据,只是吹哨人
  2. 1主2从:用于数据读取和存放

(2)案例步骤

3.3.1/myredis目录下新建或者拷贝sentinel.conf文件,名字绝对不能错

3.3.2先看看/opt/redis-7.0.0目录下默认的sentinel.conf文件的内容

3.3.3重要参数项说明

  1. bind:服务监听地址,用于客户端连接,默认本机地址
  2. daemonize:是否以后台daemon方式运行
  3. protected-model:安全保护模式
  4. port:端口
  5. logfile:日志文件路径
  6. pidfile:pid文件路径
  7. dir:工作目录
  8. 重点
  9. 其它

3.3.4本次案例哨兵sentinel文件通用配置

  1. 由于机器硬件的关系,我们的3个哨兵都同时配置到192.168.200.130同一台机器
  2. sentinel26379.conf
    bind 0.0.0.0
    daemonize yes
    protected-mode no
    port 26379
    logfile "sentinel26379.log"
    pidfile /var/run/redis-sentinel26379.pid
    dir ./
    sentinel monitor mymaster 192.168.200.130 6379 2  #这个2代表只要两个哨兵同意
    sentinel auth-pass mymaster 111111
  3. sentinel26380.conf
    bind 0.0.0.0
    daemonize yes
    protected-mode no
    port 26380
    logfile "sentinel26380.log"
    pidfile /var/run/redis-sentinel26380.pid
    dir ./
    sentinel monitor mymaster 192.168.200.130 6379 2
    sentinel auth-pass mymaster 111111
  4. sentinel26381.conf
    bind 0.0.0.0
    daemonize yes
    protected-mode no
    port 26381
    logfile "sentinel26381.log"
    pidfile /var/run/redis-sentinel26381.pid
    dir ./
    sentinel monitor mymaster 192.168.200.130 6379 2
    sentinel auth-pass mymaster 111111
  5. 注意:上述的logfile和dir都要根据自己的实际情况决定,因为我们的配置文件现在就在/opt/redis-7.0.0/myredis里,所以我这么填写
  6. master主机配置文件的说明

3.3.5先启动一主二从3个redis实例,测试正常的主从复制

  1. 注意:现在也要给主机设置masterauth了(具体的ip根据自己实际情况确定)
  2. 请看一眼redis6379.conf、redis6380.conf、redis6381.conf我们自己填写的主从复制相关内容
  3. 3台不同的虚拟机实例,启动三台真实机器实例并连接

3.3.6再启动三个哨兵,完成监控

  1. redis-server sentinel26379.conf --sentinel
  2. redis-server sentinel26380.conf --sentinel
  3. redis-server sentinel26381.conf --sentinel

3.3.7启动三个哨兵监控后再测试一次主从复制

3.3.8原有的master挂了

(1)我们自己手动关闭6379服务器,模拟master挂了
(2)问题思考
  1. 两台从机数据是否OK(要等一会儿,因为内部会重新选举)
  2. 是否会从剩下的两台机器上选出新的master?可以看到此时第一台从机被选举成了新的master,第二台从机成为了它的slave(可以看第一台机器的日志文件)
  3. 之前宕机的master重启回来,谁将会是新老大?会不会双master冲突。答:老大还是主机宕机后,新选出来的那个master。主机就算重启,它也不会变回master了,它只会成为新的master的slave
(3)揭晓答案
  1. 数据OK
    1. 两个小问题                                                                                                                        
    2. 了解Broken Pipe
  2. 投票新选
    1. sentinel26379.log,从该日志中可以看到这个哨兵的id
    2. sentinel26380.log,从该日志中可以看到这个哨兵的id
    3. sentinel26381.log,从该日志中可以看到这个哨兵的id
  3. 谁是master,仅限本次案例
    1. 6380被选为新master,上位成功
    2. 以前的6379被降级变成了slave
    3. 6381还是slave,只不过换了个新老大6380(6379变6380)

3.3.9对比配置文件

  1. 老master,vim redis6379.conf
  2. 新master,vim redis6380.conf
  3. 结论:(1)文件的内容,在运行期间会被sentinel动态进行更改(2)Mater-Slave切换后,master的conf,slave的conf,sentinel的conf内容都会发生改变,及master的conf中会多一行slaveof的配置,sentinel.conf的监控目标会随之调换

(3)其它备注

  1. 生产上都是不同机房不同服务器,很少出现3个哨兵全部挂掉的情况
  2. 可以同时金童监控master,一行一个

四、哨兵运行流程和选举原理

(1)介绍

当一个主从配置中master失效后,sentinel可以选举出一个新的master用于自动接替原master的工作,主从配置中的其他redis服务器自动指向新的master同步数据,一般建议sentinel采取奇数台,防止某一台sentinel无法连接到master导致误切换

(2)运行流程,故障切换

4.2.1三个哨兵监控一主二从,正常运行中......

4.2.2SDown主观下线(Subjectively Down)

  1. SDOWN(主观不可用)是单个sentinel自己主观上检测到的关于master的状态,从sentinel的角度来看,如果发送了PING心跳后,在一定时间内没有收到合法的回复,就达到了SDOWN的条件
  2. sentinel配置文件中的down-after-milliseconds设置了判断主观下线的时间长度
  3. 说明:

4.2.3ODown客观下线(Objectively Down)

  1. ODOWN需要一定数量的sentinel,多个哨兵达成一致意见才能认为一个master客观上已经宕机
  2. 说明:

4.2.4选举出领导者哨兵(哨兵中选出兵王)

  1. 当主节点被判断客观下线后,各个哨兵节点会进行协商,先选举出一个领导者哨兵节点(兵王)并由该领导者也即被选举出的兵王进行failover(故障转移)
  2. 三哨兵日志文件2次解读分析(举例,这个不是从我自己的三个哨兵的log文件里截取的)
    1. sentinel26379.log
    2. sentinel26380.log
    3. sentinel26381.log
  3. 哨兵领导者,兵王如何选出来的?Raft算法

4.2.5由兵王开始推动故障切换流程并选出新的master

(1)3步骤
一、新主登基
  1. 某个Salve被选中成为新的Master
  2. 选出新master的规则,剩余slave节点健康的前提下
    1. redis.conf文件中,优先级slave-priority或者replica-priority最高的从节点(数字越小优先级越高)
    2. 复制偏移位置offset最大的从节点(也就是在master还没有宕机时,复制到数据比其他Slave要多)
    3. 最小Run ID的从节点,字典顺序,ASCII码
二、群臣俯首

三、旧主拜服
(2)小总结

上述的failover操作均由sentinel自己独自完成,完全不需要人工干预

五、哨兵使用建议

  1. 哨兵节点的数量应为多个,哨兵本身应该集群,保证高可用
  2. 哨兵节点的数量应该是奇数
  3. 各个哨兵节点的配置应一致
  4. 如果哨兵节点部署在Docker等容器里面,尤其要注意端口的正确映射
  5. 哨兵集群+主从复制,并不能保证数据零丢失(引出集群)
http://www.dtcms.com/wzjs/359553.html

相关文章:

  • 美食静态网站设计论文百度怎么推广自己的产品
  • wordpress 多说 代码什么是搜索引擎优化的核心
  • 上海嘉定网站建设淘宝关键词优化技巧
  • 网站怎样秒收录中国十大电商平台排名
  • 女装网站建设昆明优化网站公司
  • 网站开发怎样验收郑州百度推广代理公司
  • 电商网站开发背景微信怎么推广
  • 衣服品牌logo大全广州排前三的seo公司
  • 制作荧光字网站如何注册网站免费注册
  • 做网站营销公司网络营销案例分享
  • 龙岗 网站建设哪安装百度
  • 中国建筑装饰百强排名seo点击软件手机
  • 官方网站建设报价表长沙seo袁飞
  • 什么网站做护工输入关键词搜索
  • 刘琪 找谁做网站靠谱考试培训
  • 石家庄科技网站建设优化师是干嘛的
  • 南昌网站建设 南昌做网站公司天津百度整站优化服务
  • 博山网站seo常熟seo网站优化软件
  • szfob外贸论坛网站怎样注册自己的网站
  • 怎么注册一个网站哈尔滨seo推广
  • 网站建设的会计分录网站seo优化软件
  • 上海红酒网站建设网络推广费用计入什么科目
  • 郑州的网站建设公司葫岛百度seo
  • 站酷海洛2023年8月疫情爆发
  • 别墅效果图制作成都搜索优化排名公司
  • 专做农产品的网站有哪些厦门seo推广外包
  • 系统开发北京网站建设百度提升排名
  • 卡盟网站建设最新网站查询工具
  • 动态网站留言板怎么做网站怎么开发
  • 网站做多长时间才有流量2345网址导航中国最好