美文网首页
Redis-高可用

Redis-高可用

作者: DoubleFooker | 来源:发表于2020-01-29 11:34 被阅读0次

    主从复制

    image.png
    • 通过slaveof ip port 设置主从关系。
    • 通过psync命令发送已经同步的信息(源id:runid,同步数据的offset),master接收到信息判断源id是否为当前master,则根据offset同步增量数据,否则master生成rdb,全量同步。
    • 可以应用在读写分离场景。

    哨兵机制

    image.png
    • 哨兵发现主从节点信息。
    • 哨兵负责决定客户端连接到哪个服务器,只在master不可用时做重新选择时工作。
    • 哨兵集群一个节点不可用,则连接下一个节点。
    • 哨兵服务器监控主从服务器的健康状态,发现节点不可用,则询问其他节点监控结果。
    • 哨兵集群,一定数量节点(通过配置设置需要确认的数量)确认master不可用,选举一个执行故障转移的哨兵节点。
    • 哨兵间通过pub/sub机制(_sentinel_:hello)发布自己信息,订阅其他哨兵节点信息。
    • 采用raft算法选举执行故障转移的节点。
    • salve选举master节点,首先通过配置的优先级,再则通过offset值最新,再则通过runid按字典序比较。选举后slaveof NO ONE,其他slaveof选举的新master节点。

    Redis Cluster

    image.png
    • 启动redis服务实例,通过redis-cli启动集群模式。
    • 集群中数据分片存储。
    • 通过计算key的hash值确定存储的位置。
    • 集群分片默认平均,可以通过reshard指定实例分片数量。
    • 节点故障转移过程中存在数据丢失的可能。
    • 扩容服务实例,需要通过reshard分配存储信息。

    相关文章

      网友评论

          本文标题:Redis-高可用

          本文链接:https://www.haomeiwen.com/subject/ziocpctx.html