从Commiter到Maintainer,这一年我和nutsdb的故事

6 篇文章 0 订阅

不知不觉快一年过去了,这一年里的业余精力主要集中在nutsdb上面。回想起在nutsdb上做的不少性能优化实践以及钻研了不少相关的技术资料,提过不少issue和性能优化方面的建议,最近也有commiter变成了maintainer,内心中升腾起不少满足感和成就感,于是想着记录一下此刻心情。和往期的文章不同,本期文章的目的是和大家分享这一年我和nutsdb的故事,这篇文章的主旋律是回忆过去。

源起

​ 故事的开头是一个不期而遇,当时我和nutsdb项目发起者佳军都在Go夜读上做过嘉宾分享过一些技术相关的东西。分享完之后我们被Go夜读发起者拉进一个讲师群里面,自我介绍说我对存储研究的比较多,看过一些开源项目源码和论文,正巧佳军发起这个开源社区招募小伙伴一起维护这个项目,我当时正好也想积极投身到开源项目之中,于是我们一拍即合。在去年4月份开始,业余时间更多的就在nutsdb上倾斜。这段时间结实到了不少有趣的,有想法的小伙伴,一起在这个项目上倾注了不少心血。

发展

​ 当前nutsdb有2.7k star,并且有不少的用户在生产环境中使用。我们也建了一个学习交流群,目前群里有400多个小伙伴。有时候有小伙伴在微信群中报一些问题,我看到一般会让他展示一下db的操作代码和相关的启动配置,如果可以短时间解决就原地帮忙解决,如果不能快速解决会建议他去github上提一下issue,有空的时候再看看。当前issue还是蛮多的,一方面是说明这个社区还是蛮活跃的,从另外一个方面来讲,我们能做的事情还有很多。总结一下这些issue,其实分为三大类,一是某某场景不够快,二是某某场景内存占用量很大,这些是性能方面的一些issue,第三种是能不能提供某某feature。

​ 在我加入这个项目之后,相继优化了不少读取的性能和减少了不少内存的使用。每攻克一个问题,我都会写文章发到我的公众号上,总结一路来的思考历程,于我看来这也是一笔宝贵的财富。说来有点好笑,一开始搞公众号是想着写写源码分析之类的,后来发现记录一下问题的解决过程可能更加合适。期间这些文章收获了不少的阅读量和关注,并且为我带来了一些微薄的影响力。在这里衷心感谢每一个认可我的文章的小伙伴。(感兴趣的小伙伴可以看我往期的文章喔~)

​ 目前作为maintainer会维护社区的运作,组织小伙伴们开周会,讨论每个版本nutsdb需要做的事情以及提一些自己的想法以及优化的思路。因为是第一次维护开源社区,更多的是一个学习者的心态去做事情,另外一些想法在每周的周会和小伙伴的讨论中也得到了升华和落实,在这个过程中收获了不少成就感。

收获

​ 在开源世界里我最大的收获其实是一份自由,就是对于代码的自由度,我可以去脑爆一个东西的各种做法,去调研业界的一些论文,找到一个最好最适合的方法。实现的时候是自己亲自下笔,去操刀每一个细节的实现。

​ 在做一个性能优化的时候会想着把它做到最好,因为对于一个feature没有时间的限制,会想着拓展自己的知识范围去看看最好的做法是怎么样子的。往往性能的卡点就在一些不起眼处的几行代码,这个时候我们需要对一些代码背后的原理了如指掌,一个东西对你暴露的可能是语法糖,比如Go中的append,但是你需要对他背后的运作原理如数家珍一般才可以判断出哪里可能可以节省一部分扩容带来的性能和内存的损耗。所以这也促使了我去拓展自己的知识边界。

​ 我想我恰巧也是适合做这个的,我是一个喜欢钻研事物的人,也有充分的热情去钻研和实践。去年有过一次通宵写了一个性能优化相关的代码,写benchmark测试结果显示优化了几倍的db重启性能的时候我整个人一下子从凳子上跳起来给自己鼓掌,那个时候我感受到了纯真的快乐。人生之中遇到一件事情是自己真正喜欢的,没有那么多为什么,就是纯粹的快乐,也是一种幸福。

总结

​ 好了,碎碎念了这么久,hh。这一次没什么干货分享,朋友你看到这里也实属不易,感谢。期望我们都能找到自己热爱的东西。

展望

​ 当然是希望这个项目越来越好啦,越来越多的小伙伴加入到这个项目的开发与维护之中,影响力Up Up。有兴趣参与这个项目的小伙伴可以私信联系我哟~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值