首页 > 数据库 >Redis开源协议调整,我们怎么办?

Redis开源协议调整,我们怎么办?

时间:2024-04-02 10:23:52浏览次数:22  
标签:协议 服务 Redis 华为 开源 怎么办 DCS

本文分享自华为云社区《Redis开源协议调整,我们怎么办?》,作者:华为云PaaS服务小智。

2024年3月20日, Redis官方宣布,从 Redis 7.4版本开始,Redis将获得源可用许可证 ( RSALv2 ) 和服务器端公共许可证 ( SSPLv1 ) 的双重许可,时间点恰逢刚刚完成最新一轮融资,宣布的时机耐人寻味。

 

Redis协议调整,对云计算厂商的影响

Redis协议调整听起来可能没什么,但在开源项目领域是一个大问题。这并不是 Redis 官方第一次改变许可方式,早在 2018 年,Redis Labs 将其许可证从 AGPL 更改为Apache 2 modified with Commons Clause。Commons Clause在其许可之上增加了商业限制条款。

从Redis Labs 团队成员在网上发布的言论,可以了解到: “目前部分云提供商复用成功的开源项目,却没有为其社区做出重大贡献,他们将非其自行研发的软件产品通过重新打包的方式,转变成极具竞争力的云服务产品,并利用他们的业务优势从这些开源项目中获取可观的收入。”

不可否认,随着云计算技术的飞速发展,Redis作为一款流行的开源内存计算高速缓存,在云环境中将发挥着举足轻重的作用,其高效的数据处理能力和丰富的数据结构支持,使其成为众多企业应用和云服务产品的重要组件。

然而,随着云计算厂商纷纷推出相应的Redis之后,也面临着诸多方面的挑战:

  1. 合规性:Redis自2013年起,采用了BSD开源协议,允许云服务商自由分发和使用Redis代码,但随着Redis Labs引入Commons Clause补充条款之后,针对商业软件服务提供商便提出了额外限制,这意味着云厂商必须注意许可模式的变化,确保在提供托管Redis服务时符合开源协议的精神及其附加条款,避免潜在的法律风险。
  2. 技术创新与差异化:开源Redis虽然提供了基础功能,但为了在竞争激烈的云服务市场中脱颖而出,云计算厂商需要开发出具备差异化特性的高级功能或管理工具。如何在遵循开源协议的同时,增加诸如监控、备份恢复、安全防护等增值服务,是对云厂商技术研发能力的考验。
  3. 服务质量与SLA保障:云服务商提供的Redis服务不仅要保证开源版本的稳定性和性能,还需提供高质量的服务水平协议(SLA),包括高可用性、容灾恢复以及弹性扩展等,而这些特性往往需要在开源Redis基础上进行大量定制开发和优化工作。
  4. 维护与升级:云环境下的Redis集群需要及时更新至最新版本以获取最新的功能和安全修复。然而,不同客户可能依赖于不同的Redis版本,这就要求云厂商在提供统一服务的同时,必须处理好不同版本之间的兼容性和平滑升级的问题。

为了满足用户需求及顺应市场变化,各云厂商采取了以下对策:

  • 积极参与社区:云计算厂商应积极贡献开源社区,参与Redis核心功能的改进与发展,同时也通过这种方式获得社区的信任和支持,增强自身在开源生态中的影响力。
  • 自主创新与合作:建立专门的研发团队,针对Redis进行深度定制开发,推出自有知识产权的增强版Redis服务。此外,与Redis官方或其他第三方合作伙伴建立紧密联系,共同解决许可问题并寻求共赢解决方案。
  • 标准化服务与管理平台:构建完善的自动化运维平台,确保能够快速响应Redis实例的创建、扩容、迁移和维护等需求,同时提供可视化管理和监控工具,提升用户体验和运维效率。
  • 多样化的服务模式:根据客户需求提供多种服务模式,例如开源Redis的托管服务、基于Redis的企业版解决方案,甚至包含具有技术支持和个性化功能的高级服务包。

面对Redis开源协议带来的挑战,云计算厂商需在遵守许可规定的基础上,持续创新,提供优质服务,强化与开源社区的合作,并通过不断提升自身的技术服务实力,以满足日益增长的市场需求。在这个过程中,不仅推动了Redis技术在云端的应用普及,也促进了整个云计算行业的健康发展。

无惧Redis协议更改,华为云100%技术自主创新缓存更快更强

华为云分布式缓存服务DCS是华为云为客户提供的一款基于Redis内核的云服务,经过多年持续不断的投入与建设,较开源Redis在易用性、高性能、高可靠和性价比方面都具有显著的优势,已经成为企业信赖和依靠的一款优秀产品。

DCS与开源产品对比情况:

除此之外,DCS的研发团队也非常重视对开源社区的回馈。

截止发文日,过去一年在开源社区贡献排名第5,累计贡献排名第9;国内社区影响力排名第2;累计154次commit次数和138次PR,总共贡献13000+行代码。

在去年2023年,华为云分布式缓存服务DCS还特别推出了企业版,该企业版是100%自主创新开发的多线程高性能缓存,并且100%兼容Redis协议,较Redis不管是在多线程、内存效率还是高吞吐量上都完全超越对方。

Redis 5.x以前的单(主)线程模型,主线程主要处理新建网络链接接入、命令解析、命令执行、响应封装等,同时负责网络读写,当遇到网络阻塞或者高耗时任务,如命令执行时,则会导致时延增高。

随着计算硬件的性能提升,网络的读写成为系统性能提升的瓶颈,在Redis6.0以上,通过多线程模型处理网络读写,提升系统性能,主线程承接高时延的命令执行任务,考虑到多线程复杂度问题,在满足80%业务诉求的情况下,仍然采用单主线程。

在业务发展的同时,仍然需要能够把更高性能要求的硬件资源发挥到极致,那么,命令执行任务的时延问题就会成为性能提升的瓶颈,DCS企业版的核心解决思路就是通过完全的多主线程模型提升性能,并且100%兼容开源Redis,通过网络多线程调度模型,大大提升网络读写任务的并发量,保障秒级的读写性能,下面是实验室评测的一些数据:

20240329-180956(WeLinkPC).png

20240329-1182831(WeLinkPC).png

可以看到,华为云DCS企业版Redis的QPS并发数优于基于开源Redis版本最大接近5倍,时延是其25%,完全遥遥领先。

华为云分布式缓存服务DCS经过5年的发展,目前已经广泛应用于电商、社交文娱、游戏等行业。

在上云阶段通过专业的上云搬迁团队,提供贴身技术咨询和迁移实施支持服务,实现了应用“零改造”,搬迁上云业务无中断;上云后通过千万级的并发接入能力和百万级的读写能力保障秒杀商品“零等待”、订单无丢失、直播间礼物“零卡顿”等高难度应用场景,成为华为云客户信赖的最有价值的云服务。

点击关注,第一时间了解华为云新鲜技术~

 

标签:协议,服务,Redis,华为,开源,怎么办,DCS
From: https://www.cnblogs.com/huaweiyun/p/18109999

相关文章

  • AutoCAD2024中标注的字体和箭头都很小看不清怎么办?
    在使用AutoCAD绘图的过程中,偶尔会出现标注字体和箭头很小,看不清楚的情况,如下,这种情况一般会出现在我们按照1:1绘图画大型尺寸图纸时,这主要是因为CAD默认的标注样式下,字体和箭头大小默认是2.5,而当图形尺寸较大时,标注文字和箭头相对就太小了,必须放大后才可以看到,下面给大家分享一下......
  • 【Redisson】源码预读准备工作
    1 前言微服务常见的就是服务和服务之间的协同了,那么Redisson就是我们常用的一种协同工具了,所以想看看它的源码,只有了解它的原理,才能更好的正确使用它。2 准备工作既然要看是不是得先知道的它的源码地址呢?地址:Redisson源码有了源码,是不是还需要一份文档呢?没文档的话怎么......
  • 强!10.6K star,一款开源HTTP测试工具,适合新手,简单、容易上手!
    大家好,我是狂师!今天给大家推荐一款开源的HTTP测试工具:Hurl,相比curl、wget功能更强大,且更容易上手、很适用新手使用。1、项目介绍Hurl是一个使用Rust语言开发的命令行工具,它允许用户运行以简单纯文本格式定义的HTTP请求。这个工具不仅适用于获取数据,还非常适合用于测试HTTP会话......
  • 数据库:Redis数据库
    一、非关系型数据库1.什么是非关系型数据库非关系型数据库(Non-relationalDatabase)又称NoSQL数据库是一种不同于传统关系型数据库管理系统(RDBMS)的数据存储解决方案。NoSQL这个术语最初意味着"NotOnlySQL",强调的是这类数据库不完全依赖于SQL作为查询语言,并且通常不遵循关系......
  • 分享几个非常不错嵌入式开源项目,一定不要错过
    大家好,我是知微!经常有小伙伴后台私信我:有没有好的开源项目推荐怎么样才能提升自己的编程能力那么这篇文章就推荐几个还不错的开源项目,感兴趣的小伙伴可以学习一下!日志库EasyLoggerhttps://github.com/armink/EasyLogger开发一个项目,如果没有日志的记录,当遇到问题需要分......
  • ET8开源游戏:英雄传说(零)简介与总目录篇
    《英雄传说》是一个基于ET8.1的双端C#(Client-Unity3D,Server:.Net8)开发的在线联网多人竞技游戏。当前文章主要做此Demo的技术分解,主要是战斗系统跟状态同步的技术分享,大伙有想法的欢迎评论区讨论,后续会逐步迭代分享写完:(一)鲁班配置表方案集成与使用(二)YooAsset介绍与使用,加密(......
  • 开源压测项目
    项目git地址:https://gitee.com/smooth00/stressTestSystem搭建好之后,登录成功1.新建测试用例并上传jmeter脚本文件点击左侧“用例管理”,在右侧点击新增,创建一个测试用例;选中新建好的测试用例,点击上传文件,上传要执行的jmeter脚本文件和参数化文件(如没有参数化文件则不......
  • Linux 安装 Redis (Docker)
    Linux安装Redisdockerpullredis由于容器内目录下没有redis.conf,导致/mydata/redis/conf/redis.conf认为是目录所以先创建配置文件mkdir-p/mydata/redis/conftouch/mydata/redis/conf/redis.confmkdir-p/mydata/redis/conf:创建一个目录/mydata/redis/conf,-p如......
  • 【NoSQL】SpringBoot+Redis简单使用
    【NoSQL】SpringBoot+Redis简单使用Redis是一款key-value存储结构的内存级NoSQL数据库;支持多种数据存储格式、支持持久化、支持集群windows下载:https://github.com/tporadowski/redis/releases<dependency><groupId>org.springframework.boot</groupId><artifactId......
  • Dev Home — 免费开源的微软开发者工具
    DevHome—免费开源的微软开发者工具分类 开源分享项目名:DevHome--微软平台的一站式开发助手Github开源地址: GitHub-microsoft/devhome:ThenewDevHomeexperienceforWindows!官网地址: 开发人员主页(预览)-MicrosoftApps官方说明文档: 面向Windows......