zoukankan      html  css  js  c++  java
  • 014 复制的高级配置--哨兵模式

    一 .起因

    我们使用主从时有一个非常大的问题,就是故障转移完全是通过人工的手段进行的,

    为了实现高可用性的要求,redis为我们提供了一个哨兵的模式进行高可用的完善.


     二 . 哨兵模式概述 

      哨兵模式的原理非常简单,就是使用一个脚本程序充当监听者,当故障出现时,自动实现故障的转移.当主节点出现问题时,会从从节点之中选出一个充当主节点,这就是哨兵模式的基本原理.

      实际上使用哨兵模式非常简单,也只需要进行简单的配置就可以完成了.

    整个基本的架构如下:

    配置 :

      现在按照一个一主二从,三个sentinel完成监控的形式配置一下整个结构.

    [1]配置三个redis,完成一主二从的模型.

      只需要创建两个从配置文件,注意salveof的配置就可以了.

      配置完成之后,我们启动主从模式.

    配置后查询的主从信息如上.

     [2]创建一个sentinel.conf文件,这个文件我们可以从redis的安装文件之中寻找.

    我们打开这个文件看一下.

    这里面配置的是哨兵下的主从节点,最后一个数字代表最少的选票可以变成主服务器[票数].

    [2]运行哨兵脚本

    我们使用redis-sentinel 脚本执行sentinel.conf配置文件,这就开启了哨兵的监控程序.

    [3]查看信息

    使我们使用redis-cli 连接哨兵程序:

      

      具体的信息如下:

     从最后一行我们可以看到我们的我们实现了一个哨兵的模型.


    三 .故障转移

      我们使用哨兵模式最大的目的就是实现故障转移.

      当故障出现的时候,sentinel需要保证了解主从的情况.当sentinel发现主节点出现问题的时候,会通知其他的哨兵程序,

      确认是否真的出现了故障.当确认故障出现时,会发生选举.就是从从节点中选举产生一个主节点.

      然后就以这个节点作为主节点完成新的主从结构.

        当发生故障的节点恢复的时候,哨兵会帮助自动加入到主从中作为从节点.


     四 .主观下线和客观下线

      主线下线:sentinel发现自己与节点之间无法进行信息交互就会认为节点是主观下线的.

      客观下线:sentinel当发现其他的sentinel也有相同的主观下线认知,就会发生客观下线.

        

      我们再做sentinel配置的时候,最后一个参数2就表示至少有2个sentinel发生客观下线

          才会进行客观下线.

      客观下线就代表会进行故障转移.(主从切换等工作).


    五 . 领导者选举

      我们现在含有多个sentinel保证高可用,现在如何选举主sentinel呢?

      其实主节点的选举是发生在主sentinel之中.

        

  • 相关阅读:
    WinForm Settings.settings
    winform 按钮快捷键
    movie<人类消失后的世界>
    工作2周年
    vs 连接ms sql 2000失败解决方法
    编码速度
    javascript 类型速记
    C# winform CheckedListBox
    FrontEnd Develop Resource
    javascirpt Array
  • 原文地址:https://www.cnblogs.com/trekxu/p/8729166.html
Copyright © 2011-2022 走看看