Valkey 开源社区再添新成员!阿里云与 Redis 核心贡献者再聚首
1. 背景
2024 年 3 月 21 日,Redis Inc. 宣布正式修改开源 Redis core 的服务协议至 RSALv2 与 SSPLv1 的双 Dual-License,并于 Redis 7.4 版本后关闭开源 BSD 软件分发协议。同时,Redis Inc. 也关闭了自 2020 年 7 月买断 Redis 社区后形成的以 Core Member(一共 5 人,Redis Inc. 3 人, Alibaba Cloud 1 人,AWS 1 人)为核心的社区管理方式,后续开发由 Redis Inc. 全权管理。
社区的突然转向让诸多开发者和社区参与者感到意外,进行中的讨论和项目(主要是 Redis 8.0 进行中的开发等)不得不因此而中断,包括一系列云厂商对社区 Redis 底层和能力的重构如:集群无感扩缩容(由阿里云提案,阿里云已有)、主从无感 HA(由阿里云提案)、unsharded-cluster(由 AWS 提案,AWS 已有)、cluster v2(去 gossip)(由 Redis Inc. 提案,阿里云已有)、多 IO 优化(阿里云已有)等。
2. Valkey 社区的成立
在 Redis Inc. 修改协议之后,社区成员快速做出反应,由原来 Redis 社区的多名核心开发者全新组建了 Valkey 社区,并捐献给 Linux 开源基金会进行运营。在 4 月 16 日召开的 Linux 基金会北美开源峰会上,Linux 基金会宣布阿里云等多家厂商正式加入 Valkey 社区,并发布全新版本 Valkey 7.2.5。目前 Valkey 项目的 maintainer 共有六名,分别来自阿里云、AWS、谷歌等全球知名企业,同时还有甲骨文、Percona、Verizon、Snap 等商业公司也宣布对 Valkey 的支持。
Valkey 旨在延续 Redis 开源社区的工作,项目依然采用宽松的 BSD-3 开源协议,同时 Redis 社区未完成的 PR 和 Issue 将转移到 Vakey 社区持续开发。Valkey 最新发布的 7.2.5 版本,完全兼容 Redis 7.2,原 Redis 社区用户可无缝迁移至 Valkey。在未来版本计划中,Valkey 目前规划了 Redis 社区原 8.0 计划但搁置的工作,如 slot 迁移可靠性提升、集群 slot 存储优化、扩充命令集合、可观测性提升等特性,阿里云也将持续参与并积极贡献诸多特性、组织讨论社区发展。
作为 Linux 基金会下的开源项目,Valkey 社区将具有更高的开放性,会一如既往地听取用户的心声。可以说,它是一个真正由社区开源精神驱动演进的项目,相信其会成为更多用户的选择。目前 Valkey 在 GitHub 上已经收到超过 1 万 star,这也正是广大开发者和用户真心诉求的体现。
3. 阿里云对 Redis 开源社区的贡献
阿里云是最早参与到 Redis 开源社区贡献的公司之一,最早可追溯至 Redis 4.0 时期。Redis 虽然已经是一款足够优秀的开源产品,但在实际部署和生产中,用户在稳定性、可靠性等方面依然面临诸多问题。在长期使用过程中,开源用户也向社区提出了诸多发展性需求。对此,阿里云 Tair 云原生内存数据库团队在内部不断持续打磨,并把这些积累都回馈给了开源社区,包括:
PSYNC2 的持续改进,如断线重连、实例重启、数据过期、命令重写等多种场景进行了多轮修复和优化,以保证数据复制的效率和正确性,使得 PSYNC2 能够应对生成环境中各种复杂的场景;
AOF 持久化机制支持 Multi-Part AOF,是直接从 Tair 功能反向贡献至社区的企业级能力,有效降低抖动和持久化链路复杂性;
Pipeline 模式下的性能优化,让 Redis 以单线程运行达到百万 QPS 的上限;
增加复制流量、Pubsub 连接数、Rehash 监控等诸多可观测性指标等等。
除了 Commit 和核心功能,阿里云坚持基于国内 Redis 用户及亚太区需求来支持开源社区生态并反馈开源。以上提到的 Commit 很大一部分来自云数据库的客户需求,以及在云上的复制、接入、模块化和可观测等实际问题。在 Redis 最近 3 个大 release 中,来自亚太区的贡献占比超过 60%。在过去 7 年里,阿里云向 Redis 社区贡献了数百项功能,涵盖稳定性、性能、功能和可观测性等诸多方面。
4. 阿里云 Tair 云原生内存数据库的发展
阿里云推出云数据库 Redis 服务已经近十年,遍及各行各业的客户对我们提出了众多稳定性、成本、性能和可靠性等需求。基于用户的需求,在保证对 Redis 社区版的兼容基础之上,阿里云瑶池数据库团队开发了云原生内存数据库 Tair。目前 Tair 已经在阿里云上服务广泛客户,并且在阿里集团内部各核心链路中深度使用。
当前,阿里云提供的 Redis 及自研的云原生内存数据库 Tair 产品均不受本次 Redis 开源协议变更的影响。未来,我们也将继续在第一时间提供更新的产品版本,满足用户对新版本的需求。
阿里云瑶池数据库团队后续将持续参与 Valkey 社区,如过往在 Redis 社区一样耕耘,为开源社区作出持续贡献。在 Valkey 的新版本中,阿里云将会为 Valkey 加入如 TairHash(支持 fields 过期的增强型 Hash 数据结构)、TairString(原生支持 CAD 与 CAS 的 String 数据结构)以及通过 SDK 的增强来降低服务端故障对客户端的影响等功能。
Tair 会继续保持和社区生态的兼容性,使 Tair 成为低延时、高可靠、服务于实时在线的数据库产品。我们将持续关注用户的需求,并积极参与 Valkey 的改进和优化工作,与开源社区共同推动 Valkey 项目的发展。
评论