在 Infra Meeutp No.81 上,来自美图的任勇全老师介绍了美图自研的基于 TiKV 的 Redis 协议兼容层—— Titan 的设计和实现思路。以下是现场视频&文字回顾,enjoy~
[视频 | Infra Meetup No.81:基于 TiKV 的 Redis 协议兼容层 Titan] (https://www.bilibili.com/video/av37541643)
Titan 是美图基于 TiKV 自主研发的 Redis 协议兼容层,通过将 Redis 丰富的数据类型,映射为 TiKV 中的扁平化的 Key-Value,实现了完整兼容 Redis 协议的分布式存储。
Titan 创新的应用了浮点数作为下标索引实现了LIST 的插入,通过引入对象 ID,结合 GC 机制,实现了大对象的即时删除。另外,Titan 维护了 GC 和过期列表,通过额外的后台线程实现了数据的删除和主动过期。为了解决数据导入的性能瓶颈,Titan 设计并实现了 ZIPLIST,解决了原始设计 KEY 个数放大严重的问题。最后,任老师简单的介绍了 Titan 是如何实现为多个业务提供虚拟化 Redis 集群的多租户机制的。