存储高可用,一般采用复制架构,复制架构,需要关注故障架构和状态决策2个要点
复制架构通用关注点
数据复制
复制格式
| 格式 | 优点 | 缺点 | 举例 |
|---|---|---|---|
| 命令 | 数据量小 | 可能存在数据不一致 | Mysql 的statement同步方式,按commit顺序同步,可能存在数据不一致 |
| Redis 的 AOF,每个操作室幂等的。 | |||
| MongoDB的oplog ,oplog中每个操作室幂等的 | |||
| 数据 | 保证数据一致性 | 数据量大 | Mysql的row模式 |
| 文件 | 保证生成文件时数据一致性 | 数据量大 | Redis的RDB |
| 复制的时候,数据可能有变化 |
复制方式
| 同步方式 | 特点 | 适用场景 |
|---|---|---|
| 同步 | 最强一致性 | 主备,主从架构 |

文章讨论了存储系统的高可用性通常通过复制架构实现,关注点包括数据复制的方式(如同步、异步、半同步)、复制格式(如MySQL的statement和row模式,Redis的AOF和RDB)以及状态决策机制(如Sentinel的监控、主观下线、客观下线和选主流程)。特别地,RedisSentinel作为决策者,负责监控、故障检测和主从切换,确保数据一致性和服务的连续性。

1456

被折叠的 条评论
为什么被折叠?



