Why? Curve 是 CNCF sandbox 项目,致力国产开源分布式存储系统,通过参与 Curve 的开发,你可以收获:
大型分布式系统开发经验;
和同行零距离协作交流的机会;
Curve Contributor 专属周边大礼包;
Curve Contributor 专属证书;
“------
Curve 开源以来得到了社区的广泛关注,也有许多小伙伴跃跃欲试,希望能参与到 Curve 的贡献中来,「十分钟成为 Curve Contributor」应运而生,我们将从原理到实践,与大家分享关于 Curve 的一切!
本文详细介绍了 Curve 学习的相关知识,社区也特别筛选了一些相关的 issue:
https://github.com/opencurve/curve/issues/2017,希望你能通过本文的阅读完成这些挑战,更有 Curve Contributor 专属大礼包等你领取!
-----“
活动介绍
关于成为 Curve Contributor,我们该如何打怪升级呢?此次开发者活动要怎么参加呢?
How?
第三步:在12月3日之前提交对应 issue 的 PR;
<扫描进开发者活动群>
Why? Curve 是 CNCF sandbox 项目,致力国产开源分布式存储系统,通过参与 Curve 的开发,你可以收获:
大型分布式系统开发经验;
和同行零距离协作交流的机会;
Curve Contributor 专属周边大礼包;
Curve Contributor 专属证书;
学习路径
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的分布式系统课程,感兴趣的可以多看
☆ 了解Curve目标:掌握Curve总体设计,各模块的设计参考资料:
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的基本知识
☆ 掌握代码开发/测试工具目标:掌握代码开发流程,熟练使用代码开发、调试、测试过程中所需要的工具参考资料:
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 专属礼包获取流程
左右滑动查看更多
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 及信息,确认无误后会快递寄出属于你的限量大礼包。
关于 Curve
Curve 是一款高性能、易运维、云原生的开源分布式存储系统。可应用于主流的云原生基础设施平台:对接 OpenStack 平台为云主机提供高性能块存储服务;对接 Kubernetes 为其提供 RWO、RWX 等类型的持久化存储卷;对接 PolarFS 作为云原生数据库的高性能存储底座,完美支持云原生数据库的存算分离架构。Curve 亦可作为云存储中间件使用 S3 兼容的对象存储作为数据存储引擎,为公有云用户提供高性价比的共享文件存储。