zoukankan      html  css  js  c++  java
  • redis哨兵机制

    哨兵机制存在的意义:

        为了实现redis故障转移的自动化。自动发现,自动转移。不需要人工参与。

    用户管理多个Redis服务器,该系统执行三个任务:

    • 监控:哨兵会不间断的检查Master和Slave是否正常运行
    • 提醒:当被监控的某个Redis出现问题,哨兵通过API向管理员或者应用程序发送通知
    • 自动故障迁移:当一个Master不能正常工作,哨兵会开始一次故障迁移,然后将失效的Master的其中一个Slave升级为新的Master,并让失效的Master的其他Slave改为复制新的Master;当客户端尝试链接失效的Master时,集群会向客户端返回新的Master的地址,使集群可以使用Master代替失效的Master。

    哨兵是一个分布式系统,可以在一个架构中运行多个哨兵进程,这些进程使用流言协议接收关于Master是否下线的信息,并使用投票协议决定是否执行自动故障迁移,以及选择哪个Slave作为新的Master

    • 每个哨兵会向其它哨兵、master、slave定时发送信息,确认对方是否活着, 如果对方在指定时间内未回应,则暂时认为对方已挂。
    • 若哨兵(sentinel)群多数sentinel认为某一master么响应,系统才认为该master死亡(down机),通过一定的vote算法,从剩下的slave节点,选一台提升为master,然后自动修改相关配置。
    虽然哨兵释出为一个单独的可执行文件redis-sentinel,但实际上它只是一个运行在特殊模式下的Redis服务器,可以在启动一个普通的Redis服务器时通过给定 --sentinel 选项来启动哨兵。
  • 相关阅读:
    机会的三种境界
    常用“快”捷键
    心路历程
    中兴笔试及答案
    浅谈oracle中row_number() over()分析函数用法
    IE的F12开发人员工具不显示问题
    1002.A + B Problem II --大数问题
    6470.count --快速矩阵幂
    4151.电影--贪心
    3070.斐波拉契数列--快速幂
  • 原文地址:https://www.cnblogs.com/zwp-627/p/11296075.html
Copyright © 2011-2022 走看看