简单地说,我们现在是Redis

了解更多

高可用性复述,

复制的概念:

大多数NoSQL部署使用三个副本来确保高可用性(HA)。从高级的角度来看,第一个副本通常用于存储数据集,第二个副本用于故障转移,而第三个副本用于在发生网络分裂事件时充当决平器。由于DRAM价格昂贵,维护三个副本的成本可能非常高。万博体育彩另一方面,Redis Enterprise允许你拥有一个只有两个副本的全高可用性系统,在这个系统中,你的决胜局是通过在集群中使用不均匀的节点数量来决定的。下面的例子比较了在Amazon Web Services上运行三个副本的90GB HA OSS Redis数据集和使用两个副本和一个仲裁节点的Redis Enterprise集群的基础设施成本:万博体育彩

在AWS上部署90GB HA数据集的成本(保留实例)

diagram-highly-available-redis

纯内存复制

万博体育彩Redis Enterprise复制是基于主从端的无磁盘复制,如下图所示:

一个带有52GB DRAM (19GB RDB)的内部复制基准测试在2个r3.2xlarge实例上显示了以下结果:

此外,Redis企业使用万博体育彩PSYNC2对于其核心操作,因此活动复制链路将在之后维护,以用于计划的故障转移或分片迁移操作。

自动故障转移

Re万博体育彩dis Enterprise集群使用两个看门狗进程来检测故障:

  1. 节点监督:监视在给定节点上运行的所有进程。例如,如果某个分片没有响应,节点看门狗就会触发一个分片故障转移事件。
  2. 集群监管机构:负责集群节点的运行状况,并使用流言协议管理集群中节点的成员关系。例如,集群watchdog触发节点故障事件或检测到网络分裂事件。

这些监视进程是分布式集群管理器实体的一部分,驻留在集群的每个节点上。由运行在集群内的实体管理故障检测,以避免出现如下图左侧所示的情况,这一点非常重要。在这个例子中,看门狗实体位于网络分裂的错误的一边,不能触发故障转移过程:

一旦检测到故障事件,Redis Enterprise集群将自动且透明地运行一万博体育彩组内部分布式进程,将相关分片和端点(如果需要)故障转移到健康的集群节点。如果有必要,它们还可以通过一个或多个不同的代理重新路由用户流量。

Redi万博体育彩s Enterprise集群为嘈杂(公有云)和安静(虚拟私有云、内部部署)环境提供了开箱即用的HA配置文件。我们发现,过于激进地触发故障转移可能会造成稳定性问题。另一方面,在安静的网络环境中,Redis Enterprise集群可以很容易地进行调优,以在所有故障场景中万博体育彩支持固定的个位数(<10秒)故障转移时间。

多AZ /机架部署

万博体育彩Redis Enterprise支持多az /机架集群配置。在该模式下,集群节点会被标记为它们所在的zone/机架,Redis Enterprise保证同一个分片的主、从Redis进程不会驻留在位于同一AZ/机架的节点上。万博体育彩在多az /机架万博体育彩环境下运行Redis Enterprise需要满足以下条件:

  1. 三个或更多的集群节点,总数不均匀
  2. 三个或更多az /机架,总数不均匀
  3. 一个AZ/机架的节点数量应始终为少数,即小于所有其他AZ/机架的节点数量。这确保了如果出现AZ/机架故障,集群中的大多数节点将保持正常运行。
  4. AZ/机架间网络时延应小于10ms,保证集群故障检测机制正常运行。在大多数情况下,决策是在真正的故障事件发生时做出的,受网络故障的影响较小。对于AZ/机架间延迟超过10ms的情况,主被动active - active应该考虑部署。

云中的Redis企业多az配万博体育彩置示例如下:

高可用多AZ图

如你所见,这个例子满足上面讨论的所有条件:

  1. 节点数量不均匀(7)。
  2. 可用性区域的数量不均匀(3)。
  3. 每个分区内的节点数量为少数。
  4. 在所有主要的公共云中,同一区域的区域之间的网络延迟总是小于10ms。

下一节►持久的复述,

Baidu