Redis 多数据中心双向同步 祝辰
1.74 MB
45 页
0 评论
语言 | 格式 | 评分 |
---|---|---|
英语 | .pdf | 3 |
摘要 | ||
文档讲述了携程在Redis多数据中心双向同步中的实践与挑战。随着业务的全球化,携程需要支持海外站点和国内站点同时进行读写,解决数据一致性问题。通过X-Pipe项目实现了上海到美国和德国的Redis数据同步,平均延迟分别为176ms和160ms。文档介绍了Redis的增量同步和全量同步机制,以及在面对网络断开等问题时的处理策略,如State-based和Operation-based复制方式。此外,还探讨了DRC(Data Replication Center)的概念,以及CRDT在分布式存储中的应用,旨在实现各站点的独立写入和读取,而无需关心底层存储的一致性问题。 | ||
AI总结 | ||
《Redis 多数据中心双向同步》总结
一、需求背景
携程在机票业务中需从全球供应商收集舱位信息,Redis的多样化数据结构适合存储这种数据。同时,供应商全球分布需要一个支持多点写入的Redis集群,实现海外与国内站点的读写,并解决数据一致性问题。
二、现有方案不足
用户常采取:
1. 同步写入两个站点数据库
2. 跨站点写入并同步(如AWS Aurora)
但这些方式未根本解决数据一致性问题。
三、技术探讨
1. 分布式理论
- 全量同步:通过RDB文件实现,适用于新节点或缓冲区溢出
- 增量同步:通过操作日志实现,适用于已有节点
- 状态同步:适用于新节点加入或网络中断
- Delta-based同步:适用于断点续传
2. CRDT(冲突 miễn免费的数据类型)
- 优点: 适合多数据中心场景,解决数据一致性问题
- 实现方式:modification的更新操作
- 问题:网络断开时,历史操作存储受限
四、实践方案
1. Redis多数据中心双向同步
- 数据同步:全量、增量、状态同步
- 同步方式:Master-Slave复制
- 实现方式:Redis Master-Slave复制机制
2. CRDT复制
- 适用于网络断开场景
- 用于state-based replication
五、部署架构
1. X-Pipe项目
- 实现Redis跨站点、跨区域同步
- syncing上海至美国和德国,平均延迟160-176ms
2. DRC(数据复制中心)
- 定义:多站点部署下的数据共享
- 应用场景:解决跨数据中心访问痛点
- 携程需求:
* 单元化部署
* 跨数据中心访问
* 数据一致性
六、总结
DRC架构支持携程单元化部署,实现各站点单独读写,无需关心底层同步问题,为分布式存储带来新方案。 |
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
- 可预览页数已用完,剩余
38 页请下载阅读 -
文档评分