master宕机时redis集群恢复宕机

use*_*215 7 redis

当Redis集群中的master宕机时,Redis会等待节点超时,将slave提升为master。从属升级到掌握可能需要额外的时间。在主设备降级为从设备升级为主设备期间,写入/读取,尤其是写入将会失败。如何确保零停机?

Tuc*_*uco 4

我认为这是大多数数据库的常见问题。假设你有一个 mongo 副本集,并且 master 宕机了,slave 需要一段时间才能升级,并且你会丢失写入,与 mongo shard 或 mysql 一样。

即使 Redis 可以提供即时故障转移(这是不可能的),也无法保证您的写入,除非您在每次操作时都使用 AOF 写入磁盘,但这会非常慢并且违背了 Redis 的全部目的。

更好地保证写入的一种解决方案是将数据推送到队列(例如 kafka)并异步写入 redis 或任何其他数据存储。但随后您又引入了一个堆栈,我们还必须担心它的故障转移。

所以,我认为我们应该尝试将 Redis 视为缓存,而不是永久数据存储。