暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

committer+3 | 社区之路的探索与成长

OpenCurve 2023-12-22
219

背景

Curve 是云原生计算基金会 (CNCF) Sandbox 项目,是网易主导自研和开源的高性能、易运维、云原生的分布式存储系统。

在代码的世界里,每一次 commit 都是一场探索,每一次探索都是一次成长。本月 Curve 社区新晋的三位 committer,他们来自不同的背景,但都在编程的道路上找到了属于自己的坚持与热爱。

今天,让我们一同走进他们的世界,聆听他们与代码相伴的故事,分享那些披荆斩棘后的喜悦与荣耀。他们的经历或许能给你带来启发,也许你的开源社区之旅,也能从这里找到共鸣。


Curve

committer

@Ziyi-Tan


华中科技大学计算机系统结构专业研三在读,常用语言 C++、Golang、Python。平时喜欢在 Github 上探索有趣的项目,并与有意思的贡献者私下 social。


社区贡献
在 Curve,我主要的贡献包括三个部分,具体包括:
  1. 特性开发(主要):为 UmountDiskCache 引入了异步支持,最终提高了 S3 空间利用率;为 ReadKVRequest 提供异步并发读取支持,最终提高了文件缓存命中率。

  2. 关键问题定位:修复了单元测试 crash;解决了配置项值解析截断等问题

  3. 开发者活动:以开发者和 mentor的身份参与了两次 Curve 开发者活动,帮助新人成功合并代码,晋升为 contributor~


社区故事与经验分享
在成长为 committer 的过程中,有哪些人或事件对您产生了重要影响?

当然是松哥@wuhongsong。他是我初入 Curve 社区的引路人。松哥经验丰富,对 Curve Codebase了解透彻,他总能“你去看看XXX...”一针见血地指出核心代码的位置;同时,松哥为人非常热心,毫无架子,在求职的过程中,松哥总能神奇地找到所在团队的核心研发,使得我可以清晰地了解到求职团队负责的业务。秋招的顺利进行多亏了松哥的人脉相助。

您有哪些建议和经验可以分享给新晋 contributor,帮助他们更好地参与社区贡献?

  1. 从单元测试开始。新人初入 Curve 社区,面对庞大的项目可能难以把握。因此,建议从单元测试开始。Curve 拥有完善的单元测试覆盖率,对于某个 Class 的 public 接口,都会设计良好的单元测试去评估接口的正确性。通过浏览和调试这些单元测试,可以迅速熟悉接口的使用方式,加深对调用关系和流程的理解。

  2. 开放心态,积极提问。Curve 给我的感觉是一个非常开放的社区,很多重要的 Feature 都很乐意让外部贡献者去贡献;社区成员也乐于解答疑问。基于以上两点,如果新人有什么疑问的话,请大胆地提问吧!


Curve

committer

@201341


上海某科技公司存储开发工程师,对分布式存储系统,Linux 内核等比较感兴趣,业余时间会刷刷 GitHub,逛逛 B站,阅读下相关会议论文,对一些开源项目也贡献了绵薄之力。


社区贡献
  1. 改变了 curvefs 数据在 s3 的组织形式,从而提升了 s3 数据的迁移性能和写入性能。
  2. 减少了 curvefs 客户端创建和删除文件操作的 rpc 调用,从而提升 metaserver 的 rpc 处理能力。
  3. 优化创建文件的系统流程,从而提升用户体验,修复了一些测试的 bug 和完成了一些 good first issue。

社区故事与经验分享

在成长为 committer 的过程中,有哪些人或事件对您产生了重要影响?
提交的第一个 PR 是在阅读 Curve 代码的时候,发现后端数据的组织形式会带来移慢等问题,然后找到 Curve社区 maintainer @wuhansong 和 @lixiaocui  讨论,@wuhansong 鼓励我做个 demo,但是由于当时工作比较忙,一直没时间,过了一个多月,在一个空闲的周末抽时间把 demo 提了,Curve 社区及时review,给出很多修改意见,并最终合入主线。社区的积极讨论讨论和回应给了我继续提 PR 的动力。
您有哪些建议和经验可以分享给新晋 contributor,帮助他们更好地参与社区贡献?

CurveFS 作为一个新兴的分布式文件系统,与一些成熟的系统相比,可能还存在一些差距。但是,这也是一个机会,让我们能够思考如何优化和改进它。

阅读代码是一个很好的学习方式,通过阅读代码,我们可以深入了解系统的实现细节,理解其运作原理,并从中发现可能的优化点。有时候,一些看似微小的优化思路,可能会对系统的性能和稳定性产生显著的影响。


Curve

committer

@baytan0720


目前就读于西安文理学院物联网工程专业,个人主攻云计算、Go,平时喜欢造各种各样的轮子,关注新技术的发展,以及尽自己所能为开源社区做贡献。


社区贡献
我的主要贡献分为两部分:
  1. 开发多个 tools-v2 的 new feature,增加一些实用工具用于帮助开发新的命令,以及定位 bug 并进行修复。
  2. 在最近的一次开发者活动中,作为小 mentor 参与了该活动,为新人进行答疑,帮助他们完成任务,以及 review 代码。

社区故事与经验分享

在成长为 committer 的过程中,有哪些人或事件对您产生了重要影响?

首先还是感谢义哥@Cyber-SiKu,无论在哪个阶段都能提供许多帮助,成为 commiter 不仅仅需要写代码,还需要有读代码的能力,义哥会把评审代码的任务分给我,让我可以提升这方面的能力。此外,还有@caoxianfei1 的帮助,指出我的代码不足之处,并给出合理的建议。
您有哪些建议和经验可以分享给新晋 contributor,帮助他们更好地参与社区贡献?
Curve 区非常棒,最重要的是福利满满,也欢迎各位新晋的 contributor 能够持续贡献。初次参与贡献时,建议选择一些相对简单的任务,例如 tools-v2 相关的任务,以 tools-v2 作为切入点,能够更好的了解 Curve 的整体架构。在做任务的过程中,定期向 mentor 报告贡献的进展,分享遇到的问题和解决方案。这有助于 mentor 了解你的工作,并提供支持或建议。


尾声

三位 committer 的故事告诉我们,编程不只是一门技术,更是一种生活方式,一种不断追求卓越的精神。在这个快速发展的技术领域,我们需要不断学习、实践和分享,才能共同成长。感谢三位新晋 committer 的分享,他们的故事与经验将成为 Curve 社区的宝贵财富,希望每位读者都能从他们的故事中找到前行的动力,一同书写编程世界的未来篇章。




------ END. ------



🔥 开发者活动回顾:
Summer Code Camp 活动回顾 | Curve & openEuler 联合举办
🔥 用户案例:
Curve 文件存储在 Elasticsearch 冷热数据存储中的应用实践
扬州万方:基于申威平台的 Curve 块存储在高性能和超融合场景下的实践
创云融达:基于 Curve 块存储的超融合场景实践 
🔥 技术解析:
如何快速迁移百亿级文件到Curve文件存储?
优化读取:Curve 文件存储的缓存策略
探索 : CurveBS 模拟 RBD 接口对接 OpenStack
Curve 混闪之性能优化记录
CurveBS RDMA & SPDK 部署指南



关于 Curve 

Curve 是一款高性能、易运维、云原生的开源分布式存储系统。可应用于主流的云原生基础设施平台:对接 OpenStack 平台为云主机提供高性能块存储服务;对接 Kubernetes 为其提供 RWO、RWX 等类型的持久化存储卷;对接 PolarFS 作为云原生数据库的高性能存储底座,完美支持云原生数据库的存算分离架构。

Curve 亦可作为云存储中间件使用 S3 兼容的对象存储作为数据存储引擎,为公有云用户提供高性价比的共享文件存储。

  • GitHub:https://github.com/opencurve/curve
  • 官网https://opencurve.io/
  • 用户论坛:https://ask.opencurve.io/
    微信群:搜索群助手微信号 OpenCurve_bot



文章转载自OpenCurve,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论