2021 年 Kvrocks 工作總結

語言: CN / TW / HK

對於 Kvrocks 而言,2021 年是非常具有意義的一年。在這一年裡,我們建立了真正意義上的開源社群:

  • 組建 Core Team,對程式碼質量以及 Commit Log 管控更加嚴謹

  • 開設 Kvrocks Community 公眾號,發表多篇原創技術文章

  • 建立 Google Group、Slack 和微信群等交流渠道,與全世界的開發者一起積極討論問題,並不斷優化和完善 Kvrocks

  • 多位開發者為 Kvrocks 做出貢獻,眾多的企業或個人開始在生產環境中使用 Kvrocks

當前 2.0 分支功能越來越完善,穩定性也有了極大的提升,逐漸能夠滿足大家在生產環境中的要求。

專案和社群

2021 年中 Kvrocks 專案得到了更多人的關注,社群有了很大的發展,我們希望建立一個技術自由、開放包容、平等友好的開源社群。Kvrocks 吸引了來自亞洲,歐洲,美洲等多個地區開發者的關注,大家會提出問題,討論和解決問題,設計並實現新功能,讓 Kvrocks 更完善。甚至有一位歐洲的開發者願意為我們維護 Kvrock Python SDK 以支援 Kvrocks 不同於 Redis 的命令和行為,這讓我們非常感動。此外,我們非常注重專案的質量,每個 Issue 和 PR 都會認真交流和 Review,對於 Commit Log 要求也非常嚴格,這是我們非常自豪的一個方面。以下是這一年來發生的令人激動的事情:

  • 有 20 多位開發者為 Kvrocks 做成貢獻

  • 新增 star 數超過 700,總 star 超過 1.1 k

  • 新增 Issue/PR 307 個,已關閉 278 個

  • 新發布了 10 個版本,2.0 已迭代 6 個版本

  • 新增近 200 個 commit,程式碼增加 23044 行,刪減 9793 行

  • 新增超過 200 位開源社群交流者參與到 Kvrocks 交流

  • 新增 400 多位 Kvrocks 社群公眾號關注者

新功能和優化

對於一款 KV 儲存服務,產品的穩定性是最基礎也是最重要的,這一年來,我們根據使用者反饋的問題,修復了大量的 bug,並且著手細節優化和效能提升,不斷優化 Kvrocks 的穩定性,努力讓使用者體驗更好。同時我們也持續完善 Kvrocks 的功能,完成了多個重量級功能,讓 Kvrocks 的行為跟 Redis 更一致,也實現多個 Kvrocks 特有的功能特性以滿足開發和運維的需求。以下是一些重要的新功能和優化:

  • 實現相容 Redis Cluster 的 Kvrocks 叢集方案

  • 支援與 Redis 一致的事務功能

  • 支援 Lua 指令碼功能,並提供持久化特性

  • 優化對 RocksDB 的使用方式,支援 KV 分離,提升 Kvrocks 讀效能

  • 摒棄額外複製埠依賴,通過 Checkpoint 完善主從全量複製機制

  • 支援更豐富的命令,例如 CAS、CAD、 MSETNX、ZREVRANGEBYLEX等命令

  • 提升了 Kvrocks 的可觀測性和可運維性,並維護 Kvrocks exporter 方便大家進行 Kvrocks 的監控

更加詳細的內容,請大家檢視 Kvrocks 的 Release 日誌: https://github.com/KvrocksLabs/kvrocks/releases

2.0 新功能開發已進入尾聲,後續我們會持續維護 2.0 分支。2022 年我們將開啟 3.0 的新徵程:https://github.com/KvrocksLabs/kvrocks/projects,非常歡迎感興趣的小夥伴一起參與!

致謝

這一年來越來越多的朋友們開始關注 Kvrocks,併為我們提供幫助:

  • 感謝 Kvrocks 的貢獻者,你們的辛勤付出讓 Kvrocks 變得更完善

  • 感謝『高可用架構』『Redis開發運維實戰』等公眾號對 Kvrock 的大力推廣

  • 感謝 OSCHINA 對 Kvrocks 工作的認可並授予我們『2021 年度 OSCHINA 優秀開源技術團隊』

  • 感謝 Kvrocks 各渠道交流群的同學們,積極反饋和討論問題,讓我們發現 Kvrocks 的不足並進行完善

最後感謝所有喜歡和關注 Kvrocks 的朋友們,你們是我們前行的最大動力!值此新春佳節即將到來之際,Kvrocks 給大家拜年了,祝大家新春快樂,身體健康,萬事如意!