Redis開源協議調整,我們怎麼辦?

本文分享自華爲雲社區《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年的發展,目前已經廣泛應用於電商、社交文娛、遊戲等行業。

在上雲階段通過專業的上雲搬遷團隊,提供貼身技術諮詢和遷移實施支持服務,實現了應用“零改造”,搬遷上雲業務無中斷;上雲後通過千萬級的併發接入能力和百萬級的讀寫能力保障秒殺商品“零等待”、訂單無丟失、直播間禮物“零卡頓”等高難度應用場景,成爲華爲雲客戶信賴的最有價值的雲服務。

點擊關注,第一時間瞭解華爲雲新鮮技術~

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章