当一个主服务器及其从服务器在redis群集中出现故障时,redis是否会删除所有密钥

时间:2016-07-01 04:49:40

标签: redis azure-redis-cache

我有一个问题。假设我使用的Redis集群有3个分片(主分区和从分区)。我开始知道如果主机及其从机同时出现故障,Redis Cluster将无法继续运行。之后会发生什么。

  1. Redis集群是否会删除其他2个节点中的所有其他密钥? (当它回来时)
  2. 我们是否需要手动重启此群集,我们能以某种方式保留其他键值(在其他节点上)吗?
  3. 如果我使用Azure Redis缓存,它将如何表现?
  4. 提前致谢

1 个答案:

答案 0 :(得分:1)

<强> 1。 Redis集群是否会删除其他2个节点中的所有其他密钥? (当它回来时)

首先,只有操作被阻止而不是群集活动,并且没有对数据进行任何操作,所以documentation

  

Redis群集故障检测用于识别大多数节点无法再访问主节点或从节点,然后通过将从属设备提升为主节点角色来进行响应。 当无法进行从属促销时,群集将处于错误状态以停止接收来自客户端的查询。

接下来是关于数据是否被删除(在Replication文档下)

  

在使用Redis复制的设置中,强烈建议在主服务器中启用持久性

这意味着只有当持久性被转为off并且主服务器对关闭时,您才会丢失数据。当该对重新启动时,您将无法恢复数据。所以保持Redis持久性开启。

<强> 2。我们是否需要手动重启此群集,我们是否可以某种方式保留其他键值(在其他节点上)?

我认为上面的答案涵盖了它。

<强> 3。如果我使用Azure Redis缓存,它将如何表现?

来自Azure Redis Cache FAQ

  

高可用性/ SLA :Azure Redis缓存可确保标准/高级缓存至少有99.9%的时间可用。要了解有关SLA的更多信息,请参阅Azure Redis缓存定价。 SLA仅涵盖与Cache端点的连接。 SLA不包括数据丢失保护。 我们建议使用Premium层中的Redis数据持久性功能来提高数据丢失的弹性。

所以他们有点头疼

OR

  

Redis群集:如果要创建大于53 GB的缓存或者想要跨多个Redis节点分片数据,可以使用Premium层中提供的Redis群集。每个节点都包含一个主/副本缓存对,以实现高可用性。有关详细信息,请参阅如何为Premium Azure Redis缓存配置群集。