redis集群(Sentinel)
问题 Redis 主哨兵模式是如何保证高可用的 主要依赖主哨兵的发现故障和故障转移 概述 本文假设读者对redis 的主从复制已经进行了了解 。 Redis 主哨兵集群为Redis 提供了 高可用 ,即高可用是猪哨兵模式的主要目的,这是宏观上Sentinel功能的完整列表 Monitoring :监视实例的情况 Notification : 通知 Automatic failover : 当Master异常下线后,自动会通过选举 Configuration provider : 提供配置信息。 注意事项 在配置哨兵模式下几件事需要注意 : 至少保证3台实例 由于Redis使用异步复制,因此Sentinel + Redis分布式系统不能保证在故障期间保留已确认的写入。 开启 Sentinel后,客户端也需要支持 Sentinel 模式 工作流程 分布式服务器布局 主哨兵的可以是如下布局 这是最简单的布局,Sentinel 依附在实例中,当实例 down 的话,那么 Sentinel 自然也会 down 掉,而图中的 quorum = 2 是什么意思呢,在后面章节再解释。二这种布局会出现分布式服务器“脑裂”问题,如下图 此时可以看到一台 replcation 成为了新的 master,而假如此刻客户端对 redis 进行写入那么数据将会丢失, redis.conf 中的两个参数可以设置