| 语言 | 格式 | 评分 |
|---|---|---|
中文(简体) | .pdf | 3 |
| 摘要 | ||
文档介绍了携程在Redis多数据中心方面的实践,涉及多数据中心、业务压力、高可用等概念,以及备份、双活、多活等阶段。Redis作为内存数据库,支持多种数据结构,携程使用2000多组实例,每秒访问量200万(写入10万)。需要解决的问题包括数据复制、一致性、实时性、高可用、复制高可用和Redis failover。整体方案为X-PIPE,涉及多机房log server数据传输,数据中心内redis通过log server获取数据,数据中心之间通过keeper复制,并采用压缩技术。实时性测试显示,master到slave延迟0.2ms,master到keeper再到slave延迟0.3ms,跨机房延时同城几毫秒,异地十几到几十毫秒。高可用方面包括keeper主备选举、meta server管理、Zookeeper用于leader选举和分片信息存储。 | ||
| AI总结 | ||
携程在QCon上海2016上分享了其Redis多数据中心实践,核心目标是应对业务压力并实现高可用。多数据中心的发展分为备份、双活和多活三个阶段,而Redis在此场景下既可作为缓存,也可作为内存数据库。
**核心问题**:需要解决跨数据中心的数据复制、数据一致性和实时性,以及系统的高可用性(包括复制链路和Redis本身的故障切换)。
**整体方案(X-PIPE)**:通过引入“Keeper”组件实现跨机房复制。每个数据中心内的Redis通过Log Server获取数据,数据中心之间则通过Keeper进行数据复制和传输,并对数据进行压缩以提升效率。
**性能与延迟**:在5万QPS、100字节value的测试环境下,主库到从库延迟0.2ms,通过Keeper中转后延迟为0.3ms。跨机房延迟取决于物理距离,同城为几毫秒,异地为十几到几十毫秒。
**高可用机制**:
- **Redis Failover**:支持机房切换和反向复制,确保Redis实例的高可用。
- **Keeper高可用**:Keeper自身采用主备模式,由Meta Server管理其主备选举。
- **Meta Server高可用**:多个Meta Server分片管理不同的Redis实例,通过Zookeeper进行Leader选举和分片信息存储。当某个Meta Server故障时,其负责的分片会自动迁移。
**携程使用规模**:携程内部广泛使用Redis,拥有超过2000组实例,每秒访问量达200万(其中写入10万)。 | ||
P1
P2
P3
P4
P5
P6
P7
P8
P9
P10
P11
P12
下载文档到本地,方便使用
- 可预览页数已用完,剩余
27 页请下载阅读 -
文档评分














QCon上海2016-携程redis多数据中心实践-孟文超