redis集群设计方案及道理(2)

  1.主节点读写,从节点只能读,不能写
  2.当主节点读写数据变革时,会直接同步到从节点
  3.一个master可以拥有多个slave,可是一个slave只能对应一个master

主从复制事情机制:
  当slave启动后,主动向master发送SYNC呼吁。master吸收到SYNC呼吁后在靠山生存快照(RDB耐久化)缓和存生存快照这段时间的呼吁,然后将生存的快照文件缓和存的呼吁发送给slave。slave吸收到快照文件和呼吁后加载快照文件缓和存的执行呼吁。复制初始化后,master每次吸收到的写呼吁城市同步发送给slave,担保主从数据一致性。

主从设置:
  redis默认是主数据,所以master无需设置,我们只需要修改slave的设置即可。
  a.配置需要毗连的master的ip端口:
    slaveof 192.168.0.107 6379
  b.假如master配置了暗码。需要设置:
    masterauth
  c.毗连乐成进入呼吁行后,可以通过以下呼吁行查察毗连该数据库的其他库信息:
    info replication

二、哨兵模式(sentinel)

  哨兵的呼吁,哨兵是一个独立的历程,作为历程,它会独立运行。其道理是哨兵通过发送呼吁,期待Redis处事器响应,从而监控运行的多个Redis实例。(ping - pong)

  

redis集群设计方案及原理

  

这里的哨兵有两个浸染:
  • 通过发送呼吁,让Redis处事器返回监控其运行状态,包罗主处事器和从处事器。
  • 当哨兵监测到master宕机,会自动将slave切换成master,然后通过宣布订阅模式通知其他的从处事器,修改设置文件,让它们切换主机。
然而一个哨兵历程对Redis处事器举办监控,大概会呈现问题,为此,我们可以利用多个哨兵举办监控。各个哨兵之间还会举办监控,这样就形成了多哨兵模式。
妨碍切换(failover)的进程:
  假设主处事器宕机,哨兵1先检测到这个功效,系统并不会马长举办failover进程,仅仅是哨兵1主观的认为主处事器不行用,这个现象成为主观下线。当后头的哨兵也检测到主处事器不行用,而且数量到达必然值时,那么哨兵之间就会举办一次投票,投票的功效由一个哨兵提倡,举办failover操纵。切换乐成后,就会通过宣布订阅模式,让各个哨兵把本身监控的从处事器实现切换主机,这个进程称为客观下线。这样对付客户端而言,一切都是透明的

设置:

  设置Redis的主从处事器,修改redis.conf文件如下
  # 使得Redis处事器可以跨网络会见
  bind 0.0.0.0
  # 配置暗码
  requirepass "123456"
  # 指定主处事器,留意:有关slaveof的设置只是设置从处事器,主处事器不需要设置
  slaveof 192.168.11.128 6379
  # 主处事器暗码,留意:有关slaveof的设置只是设置从处事器,主处事器不需要设置
  masterauth 123456

  设置哨兵,在Redis安装目次下有一个sentinel.conf文件,copy一份举办修改
  # 克制掩护模式
  protected-mode no
  #设置监听的主处事器,这里sentinel monitor代表监控,mymaster代表处事器的名称,可以自界说,192.168.11.128代表监控的主处事器,6379代表端口,2代表只有两个或两个以上的哨兵认为主处事器不行用的时候,才会举办failover操纵。
  sentinel monitor mymaster 192.168.11.128 6379 2
  # sentinel author-pass界说处事的暗码,mymaster是处事名称,123456是Redis处事器暗码
  # sentinel auth-pass <master-name> <password>
  sentinel auth-pass mymaster 123456

启动:
  # 启动Redis处事器历程
  ./redis-server ../redis.conf
  # 启动哨兵历程
  ./redis-sentinel ../sentinel.conf

需要出格留意的是:

  客观下线是主节点才有的观念;假如从节点和哨兵节点产生妨碍,被哨兵主观下线后,不会再有后续的客观下线和妨碍转移操纵。选举率领者哨兵节点:当主节点被判定客观下线今后,各个哨兵节点会举办协商,选举出一个率领者哨兵节点,并由该率领者节点对其举办妨碍转移操纵。监督该主节点的所有哨兵都有大概被选为率领者,选举利用的算法是Raft算法;Raft算法的根基思路是先到先得:即在一轮选举中,哨兵A向B发送成为率领者的申请,假如B没有同意过其他哨兵,则会同意A成为率领者。选举的详细进程这里不做具体描写,一般来说,哨兵选择的进程很快,谁先完成客观下线,一般就能成为率领者。

  妨碍转移:选举出的率领者哨兵,开始举办妨碍转移操纵,该操纵概略可以分为3个步调:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wsdjdy.html