自我介绍
大家好,我叫徐业,非常荣幸收到CNCF openGemini社区的邀请,成为该项目的Committer,自2020年参加工作以来,我一直专注于Go后端研发工作,目前在华为云IoT部门中间件团队担任研发工程师。我对开源社区怀有浓厚的兴趣,同时是Apache Pulsar的Contributor,Fedora操作系统wechat,wework等应用的Packager。
缘聚openGemini SDK
2023年末部门解决方案团队基于使用场景、读写性能与可维护性等多方面考虑,开始全面使用openGemini作为时序数据库存储,而当时openGemini社区的SDK客户端相对还不完善,借此机会我开始尝试了解openGemini,并加入到刚召集成立的openGemini SDK SIG中来,参与功能的设计开发与维护。
对于一个此前从未接触过时序数据库的新手而言,从零开始了解项目相当具有挑战性,然而,得益于openGemini社区丰富且完善的文档,以及开源社区的魅力--协作分享互助,通过各种开放渠道和社群交流等,我们能很轻松的获取到关于项目的技术细节分享,演讲视频等,这对新手期的贡献者了解项目大有裨益。在逐步了解整个项目之后,就要积极参与到openGemini SDK社区的贡献中来。
SDK的设计往往需要经过充分讨论,以符合不同语言开发者的使用习惯,我们兴趣小组的成员,在设计之初就定期组织会议,对各个设计上的问题展开讨论和方案裁决,并给小组各个成员分配明确的任务,团队的小伙伴们认领并完成指定的任务。我在openGemini Go SDK中先后帮助其完成Prometheus指标统计、元数据展示相关API设计与实现、表管理相关API设计与实现等。得益于早期小组成员的积极投入,以及SDK设计方案的充分讨论与裁决,目前openGemini SDK支持丰富的编程语言,各语言SDK遵循统一的接口设计。
踏足内核
openGemini社区相当活跃与开放,欢迎各种方式的贡献,不论是代码、文档还是布道。为代码添加注释,扫描项目中的typo并进行修复,通常是贡献代码的第一步,这将帮助贡献者了解项目的贡献流程,也是我个人参与贡献的起点。
在开发SDK阶段需要一个openGemini实例做调试,本地拉起一个内核是比较快捷的方法,我发现当时主干版本的内核,在windows上启动后,过一段时间总是会停止运行,这引发了我的好奇,后经过日志堆栈与debug分析,发现是内核merge逻辑会合并旧文件并做删除,代码逻辑先删除文件再做句柄close,在windows文件系统中这是非法操作,我尝试修复了它,这也促成了我对内核的第一个BUG修复。
随着个人对项目的理解加深以及工作内容的变动,我开始挑战一些更复杂的问题,我活跃于issue讨论中,积极跟进问题进展,在pr中认真review代码,努力解决内核issue列表中悬而未决的问题。每一次修复BUG的过程,都让我感受到解决问题、回馈社区的兴奋与成就感。到目前为止我已在内核中参与修复BUG 15+,并协助社区完成内核吐普罗指标的部分能力,未来还将继续帮助社区完成更多feature功能。
结语
当下openGemini等时序数据库已经成了支撑大规模数据处理与实时分析的重要基石。openGemini背靠开源社区不断演进完善,开发者也透过参与开源社区贡献,提升自身实力并获取成就感,开源如萤光聚,希望更多的人能参与到openGemini的开源社区中来,共同推动openGemini的进步和发展。
最后,感谢社区邀请我成为项目 Committer,期待在未来能够为社区贡献更多的力量,坚持开源的初衷——源自社区、回馈社区,与社区一同成长。
相关阅读:
成为openGemini社区Maintainer和Committer的基本要求:
https://opengemini.org/zh/community/committer
作者 | 徐业
排版 | openGemini
欢迎访问WELCOME TO VISIT
openGemini官网
http://www.openGemini.org
Star for me 🌟
https://github.com/openGemini
更多精彩内容,可以关注openGemini微信公众号查看,还有交流群等你加入哦~
文章转载自openGemini。点击这里阅读原文了解更多。
CNCF概况(幻灯片)
扫描二维码联系我们!
CNCF (Cloud Native Computing Foundation)成立于2015年12月,隶属于Linux Foundation,是非营利性组织。
CNCF(云原生计算基金会)致力于培育和维护一个厂商中立的开源生态系统,来推广云原生技术。我们通过将最前沿的模式民主化,让这些创新为大众所用。请关注CNCF微信公众号。