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 选项来启动哨兵。
  • 相关阅读:
    【Linux软件安装】
    Java IO(七)ByteArrayInputStream 和 ByteArrayOutputStream
    Java IO(六) ObjectInputStream 和 ObjectOutputStream
    Java IO(四) InputStream 和 OutputStream
    Java IO(五)字节流 FileInputStream 和 FileOutputStream
    Java IO(三)FileDescriptor
    Java IO(二)File
    Java IO(一)概述
    Java中的集合(十五) Iterator 和 ListIterator、Enumeration
    Java中的自动装箱拆箱
  • 原文地址:https://www.cnblogs.com/zwp-627/p/11296075.html
Copyright © 2011-2022 走看看