• redis学习笔记(16)哨兵模式


    1、哨兵模式的功能

    • 监控(Monitor):哨兵(sentinel)会不断地检查系统的master和slave是否运行正常。
    • 提醒(Notification):当监控某个哨兵出现了问题的时候,哨兵可以通过api向程序和管理员发送请求。
    • 自动故障迁移(automatic failover):当系统中的一个master不能工作时候,这个时候哨兵(sentinel)会自动进行故障转移操作,它会将master系统中的一个slave自动生成master,当客户端对已经失效的master时候,这个时候我们的新的master会自动替换到原来失效的master。

    每个哨兵(sentinel) 会向其它哨兵(sentinel)、master、slave定时发送消息,以确认对方是否”活”着,如果发现对方在指定时间(可配置)内未回应,则暂时认为对方已挂(所谓的”主观认为宕机” Subjective Down,简称sdown).
    若“哨兵群”中的多数sentinel,都报告某一master没响应,系统才认为该master"彻底死亡"(即:客观上的真正down机,Objective Down,简称odown),通过一定的vote算法,从剩下的slave节点中,选一台提升为master,然后自动修改相关配置.

    2、实现流程

      1)创建sentinel.conf文件,名称不能错,文件内容如下:

    # 禁止保护模式
    protected-mode no
    # 配置监听的主服务器,这里sentinel monitor代表监控,mymaster代表服务器的名称,可以自定义,192.168.11.128代表监控的主服务器,6379代表端口,2代表只有两个或两个以上的哨兵认为主服务器不可用的时候,才会进行failover操作。
    sentinel monitor mymaster 127.0.0.1 6380 1
    # sentinel author-pass定义服务的密码,mymaster是服务名称,236300是Redis服务器密码
    # sentinel auth-pass <master-name> <password>
    sentinel auth-pass mymaster 236300
    

      2)启动哨兵进程

    ./redis-sentinel ../sentinel.conf
    

    3、故障恢复

      

    优先级:在 redis.conf 中默认 slave-priority 100,值越小优先级越高。

    偏移量:指获得原主机数据最全的概率。

    runid:每个 redis 实例启动后都会随机生成一个 40 位的 runid。

     

     

    参考:Redis哨兵(Sentinel)模式 - 简书 (jianshu.com)

    参考:Redis | ZC 的学习录 (zhangc233.github.io)

     
  • 相关阅读:
    DateTime.Now的精度这么高! (转)
    RC4经典加密算法VB版本代码
    反拍卖采购技术的应用
    用C#写 四舍五入函数(函数版)
    CRM(客户关系管理)
    给按钮增加属性
    用C#写 四舍五入函数(原理版)
    合并datagrid中内容相同的单元格(VB.Net)
    DataGrid删除确认及Item颜色交替
    得到目录大小
  • 原文地址:https://www.cnblogs.com/mango1997/p/16213969.html
Copyright © 2020-2023  润新知