zoukankan      html  css  js  c++  java
  • redis -sentinel(哨兵)

    1.使用背景:

    # Redis主从复制可将主节点数据同步给从节点,从节点此时有两个作用:
    一旦主节点宕机,从节点作为主节点的备份可以随时顶上来。 扩展主节点的读能力,分担主节点读压力。 
    # 但是问题是: 
    一旦主节点宕机,从节点上位,那么需要人为修改所有应用方的主节点地址(改为新的master地址),还需要命令所 有从节点复制新的主节点 
    那么这个问题,redis-sentinel就可以解决了 
    # 而redis-sentinel就是一个独立运行的进程,用于监控多个master-slave集群,自动发现master宕机,进行自动 切换slave > master。
    

    2.功能实现:

    1.不时的监控redis是否良好运行,如果节点不可达就会对节点进行下线标识 
    如果被标识的是主节点,sentinel就会和其他的sentinel节点“协商”,如果其他节点也人为主节点不可达,就会选举 一个sentinel节点来完成自动故障转义 
    2.在master-slave进行切换后,master_redis.conf、slave_redis.conf和sentinel.conf的内容都会发生改 变,即master_redis.conf中会多一行slaveof的配置,sentinel.conf的监控目标会随之调换
    

    具体实现:

    1.多个sentinel发现并确认master有问题

    2.选举出一个sentinel作为领导

    3.选出一个slave作为master

    4.通知其余的slave成为新的master的slave

    5.通知客户的主从变化

    6.等待老的master复活成为新的master的slave

  • 相关阅读:
    java9
    java8
    java7
    JavaScript将字符串拆分为数组
    JavaScript return false
    Java中前台往后台传多个id参数
    Easyui清除tree的选中
    jquery easyui tree的全选与反选
    android源码开发基础知识了解
    Android activity的生命周期
  • 原文地址:https://www.cnblogs.com/zhuyuanying123--/p/12493944.html
Copyright © 2011-2022 走看看