天天看点

携程开源 Redis 多数据中心复制管理系统 X-Pipe

由携程框架部门研发的 redis 多数据中心复制管理系统 x-pipe 已于近日开源。基于 redis 的 master-slave 复制协议,实现低延时、高可用的 redis 多数据中心复制,并且提供一键机房切换,复制监控、异常报警等功能。

xpipe 解决什么问题

redis 在携程内部得到了广泛的使用,根据客户端数据统计,整个携程全部 redis 的读写请求在每秒 200w,其中写请求约 10w,很多业务甚至会将 redis 当成内存数据库使用。这样,就对 redis 多数据中心提出了很大的需求,一是为了提升可用性,解决数据中心 dr(disaster recovery) 问题,二是提升访问性能,每个数据中心可以读取当前数据中心的数据,无需跨机房读数据,在这样的需求下,xpipe 应运而生 。

为了方便描述,后面用 dc 代表数据中心 (data center)。

整体架构

携程开源 Redis 多数据中心复制管理系统 X-Pipe

console 用来管理多机房的元信息数据,同时提供用户界面,供用户进行配置和 dr 切换等操作。

keeper 负责缓存 redis 操作日志,并对跨机房传输进行压缩、加密等处理。

meta server 管理单机房内的所有 keeper 状态,并对异常状态进行纠正。

具体实现原理和特性请查看官方文档。