查看原文
其他

Curve 开发者活动丨十分钟成为 Curve Contributor

Curve 开源社区 OpenCurve 2023-05-17

“------

Curve 开源以来得到了社区的广泛关注,也有许多小伙伴跃跃欲试,希望能参与到 Curve 的贡献中来,「十分钟成为 Curve Contributor」应运而生,我们将从原理到实践,与大家分享关于 Curve 的一切!

本文详细介绍了 Curve 学习的相关知识,社区也特别筛选了一些相关的 issue:

https://github.com/opencurve/curve/issues/2017,希望你能通过本文的阅读完成这些挑战,更有 Curve Contributor 专属大礼包等你领取!

-----“



活动介绍

关于成为 Curve Contributor,我们该如何打怪升级呢?此次开发者活动要怎么参加呢?

How?

第一步:在开发者活动对应题目 issue 中 comment 想要参加的题目~(同一个issue最多允许有三个同学选择,但最终只有一个合入;公平竞争,PR 先合入者先得~)
https://github.com/opencurve/curve/issues/2017
第二步:扫码添加开发者活动群;群中会不定期(按需)线上会议,为大家答疑解惑。

第三步:在12月3日之前提交对应 issue 的 PR;

<扫描进开发者活动群>

Why? Curve 是 CNCF sandbox 项目,致力国产开源分布式存储系统,通过参与 Curve 的开发,你可以收获:

  • 大型分布式系统开发经验;

  • 和同行零距离协作交流的机会;

  • Curve Contributor 专属周边大礼包;

  • Curve Contributor 专属证书;


学习路径

开发者活动选题之前,我们给参加开发者活动的小伙伴们一个分布式系统的学习的 Roadmap,该 Roadmap 是 Curve 团队的新人培养实践沉淀,大家可以根据自身需要自行学习。
了解分布式存储系统的基本知识目标:知道为什么需要分布式存储?分布式存储的难点在哪里?都有哪些解决方法参考资料:
  • Distributed systems:

http://book.mixu.net/distsys/index.html

熟悉分布式系统设计目标:了解分布式系统一般架构,了解部分解决方案的技术细节参考资料:

  • The Google File System

http://static.googleusercontent.com/media/research.google.com/es//archive/gfs-sosp2003.pdf

  • The Raft Consensus Algorithm:

https://raft.github.io/

  • MapReduce: Simplified Data Processing on Large Clusters

https://pdos.csail.mit.edu/6.824/papers/mapreduce.pdf

  • CEPH: RELIABLE,SCALABLE,AND HIGH-PERFORMANCEDISTRIBUTED STORAGE

https://ceph.com/wp-content/uploads/2016/08/weil-thesis.pdf

  • PacificA: Replication in Log-Based Distributed Storage Systems

https://www.microsoft.com/en-us/research/wp-content/uploads/2008/02/tr-2008-25.pdf

  • 6.824 Schedule: Spring 2020, MIT的分布式系统课程,感兴趣的可以多看

https://pdos.csail.mit.edu/6.824/schedule.html 

☆ 了解Curve目标:掌握Curve总体设计,各模块的设计参考资料:

  • Curve主页https://opencurve.github.io/
  • Curve系列讲座ppt地址

https://github.com/opencurve/curve-meetup-slides/tree/main/2020

  • Curve各模块介绍文档

https://github.com/opencurve/curve/tree/master/docs/cn

  • Curve技术文档

https://zhuanlan.zhihu.com/p/311590077

  • Curve代码阅读:建议先看下brpc的基本知识

https://github.com/apache/incubator-brpc/blob/master/docs/cn/brpc_intro.pptx

 掌握代码开发/测试工具目标:掌握代码开发流程,熟练使用代码开发、调试、测试过程中所需要的工具参考资料:

  • Curve代码构建工具bazel: https://bazel.build/

  • Curve代码测试框架gtest

https://github.com/google/googletest/blob/master/googletest/docs/primer.md

  • Curve代码管理 Git: 

https://www.runoob.com/git/git-basic-operations.html

  • 代码调试工具: gdb

  • 谷歌开源项目风格指南

https://zh-google-styleguide.readthedocs.io/en/latest/google-cpp-styleguide/

  • 编程规范:《Clean Code》


Contributor 专属礼包获取流程

左右滑动查看更多

成为 Curve Contributor 即可获赠限量周边大礼包,很荣幸能够认识你,也很高兴能和你一起坚定地走得更远。获取流程如下:

1. 认领 issue,Issue 列表:https://github.com/opencurve/curve/issues/2017

2. 提交 PR;

3. PR 提交之后,请耐心等待维护者进行 Review;

  • 代码提交后 CI 会执行测试,需要保证所有的单元测试是可以通过的。期间可能有其它的提交会与当前 PR 冲突,这时需要修复冲突;

  • 维护者在 Review 过程中可能会提出一些修改意见。修改完成之后如果 reviewer 认为没问题了,你会收到 LGTM(looks good to me) 的回复。当收到两个及以上的 LGTM 后,该 PR 将会被合并;

4. 合并 PR 后自动成为 Contributor,就可以填表单领取你的专属大礼包啦,表单地址:https://wj.qq.com/s2/11109450/7902/

5. 核查 GitHub ID 及信息,确认无误后会快递寄出属于你的限量大礼包。



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


关于 Curve 

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

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

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

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存