Redis核心开发者的新征程:阿里云与Valkey社区的技术融合与创新

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
云数据库 Tair(兼容Redis),内存型 2GB
简介: 阿里云瑶池数据库团队后续将持续参与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_Social.png


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已经在阿里云上服务广泛客户,并且在阿里集团内部各核心链路中深度使用。

瑶池+tair@2x.png

当前,阿里云提供的Redis及自研的云原生内存数据库Tair产品均不受本次Redis开源协议变更的影响未来,我们也将继续在第一时间提供更新的产品版本,满足用户对新版本的需求。


阿里云瑶池数据库团队后续将持续参与Valkey社区,如过往在Redis社区一样耕耘,为开源社区作出持续贡献。在Valkey的新版本中,阿里云将会为Valkey加入如 TairHash(支持 fields 过期的增强型 Hash 数据结构)、TairString(原生支持 CAD 与 CAS 的 String 数据结构)以及通过SDK的增强来降低服务端故障对客户端的影响等功能。


Tair会继续保持和社区生态的兼容性,使Tair成为低延时、高可靠、服务于实时在线的数据库产品。我们将持续关注用户的需求,并积极参与Valkey的改进和优化工作,与开源社区共同推动Valkey项目的发展。



扩展阅读:

Redis 的基本介绍与日常使用

云原生内存数据库Tair的演进之路

云原生数据库Tair产品特性与核心能力

使用Redis企业版(Tair)构建实时推荐系统

Tair for Redis数据闪回:任意时间点数据恢复

如何让聊天机器人更懂你?Tair向量检索给你答案

使用LLM+Tair构建具备私域知识的专属Chatbot

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
2月前
|
移动开发 NoSQL 网络协议
Redis 管道技术
10月更文挑战第21天
21 3
|
2月前
|
缓存 监控 负载均衡
如何解决Redis热点Key问题?技术干货分享
【10月更文挑战第2天】在Redis的使用过程中,热点Key问题是一个常见的性能瓶颈。热点Key指的是那些被频繁访问的Key,它们可能导致Redis服务器的负载不均衡,进而影响整体性能。本文将深入探讨热点Key问题的成因、影响以及多种解决方案,帮助读者在实际工作中有效应对这一挑战。
64 3
|
2月前
|
JSON 缓存 NoSQL
Redis 在线查看序列化对象技术详解
Redis 在线查看序列化对象技术详解
37 2
|
7月前
|
存储 消息中间件 缓存
Redis缓存技术详解
【5月更文挑战第6天】Redis是一款高性能内存数据结构存储系统,常用于缓存、消息队列、分布式锁等场景。其特点包括速度快(全内存存储)、丰富数据类型、持久化、发布/订阅、主从复制和分布式锁。优化策略包括选择合适数据类型、设置过期时间、使用Pipeline、开启持久化、监控调优及使用集群。通过这些手段,Redis能为系统提供高效稳定的服务。
|
3月前
|
存储 缓存 NoSQL
解决Redis缓存击穿问题的技术方法
解决Redis缓存击穿问题的技术方法
74 2
|
3月前
|
存储 NoSQL Redis
Redis 管道技术
【9月更文挑战第16天】Redis 管道技术通过批量发送命令并一次性读取响应,显著提升了与 Redis 服务器交互的性能。其工作原理包括命令缓冲、批量发送、响应接收与处理。管道技术减少了网络往返次数,提高了资源利用效率,并使代码更简洁。适用于批量操作、高并发环境及复杂业务逻辑等场景,是优化 Redis 应用性能的强大工具。
|
2月前
|
监控 NoSQL Redis
开发者如何使用阿里云Redis
【10月更文挑战第2天】开发者如何使用阿里云Redis
276 0
|
3月前
|
缓存 NoSQL PHP
使用PHP-redis实现键空间通知监听key失效事件的技术与代码示例
通过上述方法,你可以有效地在PHP中使用Redis来监听键空间通知,特别是针对键失效事件。这可以帮助你更好地管理缓存策略,及时响应键的变化。
98 3
|
3月前
|
存储 NoSQL Redis
10)Redis 的管道技术
10)Redis 的管道技术
49 0
|
3月前
|
NoSQL 安全 容灾
阿里云DTS踩坑经验分享系列|Redis迁移、同步
阿里云数据传输服务DTS在帮助用户迁移Redis数据、同步数据时,在某些复杂场景下会出现报错,或者源库与目标库数据不一致的问题,给用户带来困扰。本文介绍了DTS Redis到Redis迁移、同步过程中的典型问题,以帮助用户更好地使用DTS。
214 2

相关产品

  • 云数据库 Tair(兼容 Redis)
  • 下一篇
    无影云桌面