• Redis-Sentinel


    Redis-Sentinel是Redis官方推荐的高可用性(HA) 解决方案,Redis-sentinel本身也是一个独立运行的进程,它能监控多个master-slave集群,发现master宕机后能进行自动切换。Sentinel可以监视任意多个主服务器(复用),以及主服务器属下的从服务器,并在被监视的主服务器下线时,自动执行故障转移操作。

    为了防止sentinel的单点故障,可以对sentinel进行集群化,创建多个sentinel。 

    哨兵模式主要是监控Master主服务器的运行情况,当然也会监控Slave从服务器的运行情况,如果Master主服务器发生了故障,该模式可以保证Slave从服务器顺利升级为Master主服务器继续提供服务,以此提高系统的高可用性。虽然哨兵模式比主从模式提高了不少系统的高可用性,但是该模式不能水平扩容,不能动态的增、删节点,这也是限制哨兵模式广泛应用的主要原因。Redis也看到了这个情况,所在在Redis的3.x以后的版本提供了一个更加强大集群模式,那就是Cluster集群模式,

    同时哨兵也支持对客户端提供发现服务,客户端通过连接哨兵从而获取主节点的信息,如果主节点挂机,在升级从节点为主节点之后,客户端通过哨兵可以连接上新的主节点,

    判断节点是否宕机并且需要重启需要几个哨兵协同判断,当一定数量的哨兵(可配置) 认为主节点宕机才会去升级从节点

    redis集群从多主多从共同支撑,至少需要三个主节点才能启动集群

    每个集群包含 16384个槽 ,每一个主(从节点负责同步主节点的数据)负责存储其中的某一个槽,redis 通过对key的hash 确定存储在哪一个槽上面,

    当需要加入新的节点或者删除节点的时候 ,redis 会去维护不同主节点上面的槽,从而重新分配槽的所属

  • 相关阅读:
    解决-bash: fork: retry: Resource temporarily unavailable错误
    Python虚拟环境--virtualenv
    Docker三大核心概念之镜像
    LRU cache 实现
    二叉树常见算法总结和C++实现
    跳表原理及C++实现
    结构笔记—串的基本操作及串的模式匹配算法
    Bloom Filter布隆过滤器原理和实现(2)
    Bloom Filter布隆过滤器原理和实现(1)
    bitmap位图原理和实现
  • 原文地址:https://www.cnblogs.com/snow-man/p/9755723.html
Copyright © 2020-2023  润新知