AWS ElastiCache 更改了 Redis 集群的主节点

AWS ElastiCache Changed Primary node for Redis cluster

我正在开发一个 API,它使用托管在具有三个节点(一个主节点,两个副本节点)的 ElastiCache 上的 Redis。由于周末的某种原因,主节点切换到节点 002(从 001),这导致我的应用程序在尝试向 Redis 发送消息时出现 READONLY 错误。

有什么理由不手动操作就应该发生这种情况吗?

我们收到一些警报,他们在过去几周一直在对 redis 集群进行滚动替换工作。我猜这周末会影响到你的集群。

至于节点交换的角色 - 这是 ElastiCache 托管服务的一部分 - 您可以并且应该期望节点的角色在执行此幕后维护工作时发生变化。如果主节点完全死亡,您会期望副本接管,并且当新的替代节点出现时,它将成为新主节点的副本。

在我们的一些人身上完成了这项工作后,我只是仔细检查了其中的两个 - 主集群已经打开了一个集群,但没有打开另一个集群 - 客户端代码需要考虑这种可能性。