-
Notifications
You must be signed in to change notification settings - Fork 468
2021 年 Kvrocks 工作总结
对于 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 给大家拜年了,祝大家新春快乐,身体健康,万事如意!
- Overview
- Support Commands
- Server Installation
- User Guide
- Tools
- Operations
- Cluster
- Performance & Troubleshooting
- FAQ