由携程框架部门研发的 Redis 多数据中心复制管理系统 X-Pipe 已于近日开源。基于 Redis 的 Master-Slave 复制协议,实现低延时、高可用的 Redis 多数据中心复制,并且提供一键机房切换,复制监控、异常报警等功能。
XPipe 解决什么问题
Redis 在携程内部得到了广泛的使用,根据客户端数据统计,整个携程全部 Redis 的读写请求在每秒 200W,其中写请求约 10W,很多业务甚至会将 Redis 当成内存数据库使用。这样,就对 Redis 多数据中心提出了很大的需求,一是为了提升可用性,解决数据中心 DR(Disaster Recovery) 问题,二是提升访问性能,每个数据中心可以读取当前数据中心的数据,无需跨机房读数据,在这样的需求下,XPipe 应运而生 。
为了方便描述,后面用 DC 代表数据中心 (Data Center)。
整体架构
Console 用来管理多机房的元信息数据,同时提供用户界面,供用户进行配置和 DR 切换等操作。
Keeper 负责缓存 Redis 操作日志,并对跨机房传输进行压缩、加密等处理。
Meta Server 管理单机房内的所有 keeper 状态,并对异常状态进行纠正。
具体实现原理和特性请查看官方文档。
本文来自开源中国社区 [http://www.oschina.net]