大数跨境
0
0

一分钟阅读: 存储架构模式之复制架构

一分钟阅读: 存储架构模式之复制架构 二进制跳动
2025-05-28
0
导读:一分钟阅读: 存储架构模式之复制架构



1. 高可用关键指标


1.1 存储类问题处理

·故障:目的是可用、可恢复;手段是复制架构;责任人是研发

·灾难:目的是可用;手段是多活架构;责任人是研发

·备份:目的是可恢复;手段是备份;责任人是运维

1.2 高可用存储几个核心指标

·RPO (Recovery Point Objective):恢复点目标,指"最大可接受的数据丢失",因为数据备份和复制都是有时间窗制的,不可能实现对实时。

·RTO (Recovery Time Objective):恢复时间目标,指"最大可接受的系统恢复所需时间",因为定位、处理、恢复需要时间。

·WRT (Work Recovery Time):工作恢复时间,指"系统恢复正常后,恢复业务所需的时间",因为要进行各种业务检查、校验、修复。

·MTD (Maximum Tolerable Downtime):最大可容忍停机时间,等于RTO + WRT

2. 主备 主从架构

2.1 主备复制 主从复制


·主备复制(数据可恢复):

本质:通过冗余来提升可用性,通过增加备机提升性能。

变化:备机是否提供只读功能,备机部署地点,主从主备混合部署。

优点:实现简单,只需要数据复制,无状态检测和角色切换。

缺点:需要人工干预,RTO比较大。

·主从复制(数据可恢复 + 高性能读):

优点:实现简单,只需要数据复制,无状态检测和角色切换。

缺点:需要人工干预,RTO比较大。

2.2 主备级联复制

·变化:备机作为复制源

·优点:主机故障后,切换备机1为主机,方便快速,直接修改配置即可(即中继故障);无需修改备机2的配置,无需对新备机1和备机2的数据重置问题。

·缺点:备机1对备机2来说是复制源,备机1与机2会导致两者备份机都会有延迟。

·应用:MySQLRedis支持这种模式。

2.3 主备架构的灾备部署

·场景1IDC-1IDC-2在同一个城市,可以应对机房级别的灾难。

·场景2IDC-1IDC-2不在同一个城市,可以应对城市级别的灾难。

2.4 主从架构的灾备部署

·场景1IDC-1IDC-2在同一个城市,可以应对机房级别的灾难。

·场景2IDC-1IDC-2不在同一个城市,可以应对城市级别的灾难。

3. 双机切换架构

3.1 双机切换 主备切换

·正常运行:业务服务器读写主机,主机数据复制到备机

·切换阶段:主机(旧)故障,主机(新)接管

·恢复阶段:备机(新)接管,主机(新)正常工作

·优点:可以自动实现故障恢复,RTO短。

·缺点:实现复杂,需要实现数据复制,状态检测,故障切换,数据冲突处理。

·应用:内部系统、管理系统。

3.2 双机切换 主从切换

·正常运行:业务服务器读写主机,主机数据复制到从机

·切换阶段:主机(旧)故障,主机(新)接管

·恢复阶段:从机(新)接管,主机(新)正常工作

·整体和主备切换类似,差异点在于"切换阶段",只有主机提供读写服务,主机性能有风险。

4. 集群选举架构

4.1 集群选举

·正常运行:业务服务器读写主机,主机数据复制到备机

·选举:主机()故障,主机()被选举

·优点:可以自动实现故障恢复,RTO短,可用性更高。

·缺点:实现复杂,需要实现数据复制,状态检测,选举算法,故障切换,数据冲突处理。

·应用:通用,例如RedisMongoDB等。

4.2 集群选举案例 - Redis & MongoDB

·Redis:使用sentinel集群实现,"决策者"单点问题,sentinel又是通过Raft算法运行的集群。

·MongoDB3.2前用Bully选举算法(ES也是用这个),3.2后改为Raft算法。

5. 最佳实践 基于ZooKeeper实现

基于ZooKeeper实现双机切换或者集群选举,能够大大降低复杂度,优势有几点:

1. zookeeper已经保证了自身的高可用

2. 基于ZooKeeper,切换或者选举通过程序实现比较简单

3. ZooKeeper可以有多种用途

【声明】内容源于网络
0
0
二进制跳动
15 年 + 技术老兵 架构师|技术总监|科技创业技术合伙人 曾任职苏宁科技、电讯盈科、联想云 专注架构设计与技术落地
内容 739
粉丝 0
二进制跳动 15 年 + 技术老兵 架构师|技术总监|科技创业技术合伙人 曾任职苏宁科技、电讯盈科、联想云 专注架构设计与技术落地
总阅读44
粉丝0
内容739