使用哨兵升级Redis的最佳做法?

时间:2019-09-10 18:18:01

标签: redis redis-sentinel

我有3个哨兵监视着三个Redis节点。我四处搜寻,关于如何最好地升级这种类型的配置,文档似乎还不清楚。我当前正在使用3.0.6版,并且想升级到最新的5.0.5。我对此有一些疑问。

  1. 可以升级两个主要版本吗?我是在我们的暂存环境中执行此操作的,这似乎很好。我们使用了非常基本的redis功能,并且两个版本之间没有重大更改。

  2. 订购重要吗?我应该先说所有哨兵然后再说redis节点,还是应该先确认哨兵飞机在验证redis平面之后是最后一个?我应该一次做一个哨兵节点吗?

任何建议或经验,将不胜感激。

1 个答案:

答案 0 :(得分:0)

我对此缺乏回应感到惊讶,但是我知道该主题跨越了诸如stackoverflow和诸如堆栈交换之类的事物。我也对缺少有关该主题的文档感到惊讶。

我在登台环境中进行了一些广泛的测试,然后继续进行生产,而我遵循的程序在很大程度上似乎是可行的:

  • 在我们的案例中,从3.0.6升级到5.0.5似乎很顺利。正如我在原始帖子中所说的,我们在redis中使用了基础知识,从客户的角度来看并没有太大变化。

  • 我按此顺序进行升级:

    1. 前两个哨兵同伴,然后是当前处于leader状态的哨兵。
    2. 每个redis节点都列为slaves(现在称为replicas)。
      • 每个节点升级后,它将要从主节点复制其dump.rdb
      • 可以从3个节点到5个节点进行同步,但是一旦5个节点成为主节点,则3个节点将无法同步,因此一旦故障转移到升级后的节点,就无法返回到早期版本。
    3. 最后使用哨兵作为主节点故障转移到升级的节点并升级以前的主节点

希望有人会发现这很有用。