zoukankan      html  css  js  c++  java
  • Redis主从复制(含哨兵模式)

    主从复制

    Redis根据配置和策略进行主从复制,其中Master以写为主,Slave以读为主。

    配置策略

    一主二仆

    一个Master,多个Slave,Slave从Master复制信息,用于读数据,写操作只能在Master上执行。

    薪火相传

    一个Master,多个Slave会造成中心化严重,Master要一直把消息传给Slave,影响效率,因此可以Slave也可以跟随Slave,,即Master将消息传给Slave1,Slave1将消息传给Slave2。

    反客为主

    当Master挂掉了,Slave回原地等待,Master恢复后,Slave会继续跟随。

    但这种情况不好(可能Master一直恢复不了)。因此可以手动设置Slave为新的Master,其他Slave跟随这个新Master。

    哨兵模式

    前面的反客为主,得手动操作。可以增加哨兵模式,即监控Redis集群,如果Master挂掉了,会采用Slave投票过半机制选出新的Master,其余Slave会自动跟随。

    需要仔细了解投票机制,如果投票相平则选举失败,会再次投票。

    这里的选举方式,与Kafka的选举很相似。

    复制原理

    slave启动后,连接到master,会向其发送一个sync命令,master收到命令后,会将整个数据传送给slave,完成同步(全量复制)。

    全量复制:slave收到数据文件后,将其加载到内存中。

    增量复制:master将新的修改命令传送给slave,完成同步。

    slave一开始的同步,都是全量复制,后面开始增量复制。

  • 相关阅读:
    程序的局部性原理2
    程序的局部性原理
    ROM
    学习Spring Security OAuth认证(一)-授权码模式
    mybatis*中DefaultVFS的logger乱码问题
    maven生命周期绑定要点
    spring security antMatchers相关内容
    JSTL
    什么是CSS hack?
    Java中获得当前静态类的类名
  • 原文地址:https://www.cnblogs.com/chenshaowei/p/12561249.html
Copyright © 2011-2022 走看看