复制集群架构设计技巧

Redis Sentinel 基本架构

复制集群架构设计技巧

【Monitoring】

Sentinel 可以监控 Redis 节点的状态。

【Notification】

Sentinel 可以通过 API 进行集群状态通知。

【Automatic failover】

Sentinel 实现故障自动切换。

【Configuration provider】

Sentinel 为 client 提供发现 master 节点的发现功能,如果发生了切换,Sentinel 会通知 client 新的 master 地址。

【实现细节】

1. Sentinel 的选举是 Raft 算法

2. Sentinel 是独立运行的程序,但不是独立的代码

Sentinel 架构模式1 – 双节点 (1/2)

复制集群架构设计技巧

正常:两台服务器,每台服务器上分别部署 Sentinel和 Redis 节点。

Quorum:Sentinel 对 master 故障达成一致意见的投票数。

Majority:Sentinel 之间选举 leader 需要的投票数。

复制集群架构设计技巧

故障场景1:Master 挂掉,Sentinel 都正常。

故障影响:Replica 被提升为 Master。

Sentinel 架构模式1 – 双节点 (2/2)

复制集群架构设计技巧

故障场景2:服务器1挂掉,quorum=1,majority=2。

故障影响:无论服务器2是否挂掉,集群都宕机。

复制集群架构设计技巧


故障场景3:服务器1和服务器2的连接挂掉,quorum=1,majority=1。

故障影响:双主(脑裂)。

Sentinel 架构模式2 – 三节点(1/2)

复制集群架构设计技巧

正常:三台服务器,每台服务器上分别部署 Sentinel 和Redis 节点。

复制集群架构设计技巧

故障场景1:Master 挂掉,Sentinel 都正常。

故障影响:其中1个 Replica 被提升为 Master。

Sentinel 架构模式2 – 三节点(2/2)

复制集群架构设计技巧

故障场景2:服务器1挂掉,quorum = 2,majority=2。

故障影响:其中1个 Replica 被提升为 Master。

复制集群架构设计技巧

故障场景3:服务器1与服务器2和服务器3断连。

故障影响:其中1个 Replica 被提升为 Master,可能出现双主。

解决方案:min-replicas-to-write(最小写入副本数) 1; min-replicas-max-lag(最小副本最大滞后) 10

Sentinel 架构模式3 – 分离部署(1/3)

复制集群架构设计技巧

正常:Sentinel 和 Redis 分开部署,可以将 Sentinel 和 Redis 客户端所在的应用部署在一起,也可以独立部署

Sentinel 架构模式3 – 分离部署(2/3)

复制集群架构设计技巧

故障场景1:Master 挂掉,Sentinel 都正常。

故障影响:其中1个 Replica 被提升为 Master。

Sentinel 架构模式3 – 分离部署(3/3)

复制集群架构设计技巧

故障场景2:服务器1和服务器4形成分区,剩余的服务器形成另外一个分区。

故障影响:双主(脑裂)。

解决方案:min-replicas-to-write 1; min-replicas-max-lag 10

Redis 集群架构模式对比

复制集群架构设计技巧

MongoDB Replication 基本架构

复制集群架构设计技巧

基本实现:

1. Primary 处理所有 Write 请求,Secondary可以处理 Read 请求,或者只复制数据。

2. 异步复制,复制的是 oplog。

3. 选举算法:3.2.0 以前基于 bully 算法,3.2.0开始基于 Raft 算法。

4. 最多50个节点,但最多只有7个节点参与选举。

新节点同步流程

复制集群架构设计技巧

基本实现:

1. 第1步:寻找同步源,MongoDB 支持级联复制,复制源不一定是 Primary,而是通过算法选出来的。

2. 第2步:全量复制数据和 oplog。

3. 第3步:同步全量复制后的增量数据,异步复制oplog。


原文始发于微信公众号(二进制跳动):复制集群架构设计技巧

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之家整理,本文链接:https://www.bmabk.com/index.php/post/166908.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之家——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!