主从复制的问题

Redis主从复制模式下,一旦主节点出现了故障不可达,需要人工干预 进行故障转移,无论对于Redis的应用方还是运维方都带来了很大的不便。 对于应用方来说无法及时感知到主节点的变化,必然会造成一定的写数据丢失和读数据错误,甚至可能造成应用方服务不可用。对于Redis的运维方来说,整个故障转移的过程是需要人工来介入的,故障转移实时性和准确性 都无法得到保障。

  • 主节点的写能力受到单机的限制。
  • 主节点的存储能力受到单机的限制。

Redis Sentinel的高可用性

Redis Sentinel是一个分布式架构,其中包含若干个Sentinel节点和Redis 数据节点,每个Sentinel节点会对数据节点和其余Sentinel节点进行监控,当它发现节点不可达时,会对节点做下线标识。如果被标识的是主节点,它还会和其他Sentinel节点进行“协商”,当大多数Sentinel节点都认为主节点不可达时,它们会选举出一个Sentinel节点来完成自动故障转移的工作,同时会将这个变化实时通知给Redis应用方。整个过程完全是自动的,不需要人工来介入,所以这套方案很有效地解决了Redis的高可用问题。
Redis 之哨兵模式

相关文章: