Curve 社区携手开源之夏,邀你开展有趣而精彩的开源之旅,直面社区大咖,积累项目经历,摘取丰厚奖金,共同推进我国基础软件自主创新

2022 年,Curve 社区再次加入系列高校开源活动 —— 开源之夏第三届。开源之夏是由中国科学院软件研究所 “开源软件供应链点亮计划” 发起并长期支持的一项暑期开源活动,旨在鼓励在校学生积极参与开源软件的开发维护,促进优秀开源软件社区的蓬勃发展,培养和发掘更多优秀的开发者。

Curve 是网易数帆自主设计研发并开源的高性能、易运维、全场景支持的云原生软件定义存储系统,包括 CurveBS 和 CurveFS 两个子项目,分别提供块存储和文件存储两种能力。数字经济的发展和国际形势的演变迫使我国加强基础软件自主创新,但相比当前国内数据库软件玩家众多,专注存储软件者寥寥无几,网易数帆自主开源 Curve,既是强化开源基础设施支撑数字业务创新所需的能力,也希望推动我国存储软件的蓬勃发展。Curve 社区加入本届开源之夏,正是基于这一出发点。

参与本次活动,你将获得与身经百战的云原生存储软件导师零距离学习交流的机会,完成项目并贡献给社区后,你还有机会获得开源之夏活动奖金和结项证书。欢迎同学们扫描下图二维码或点击活动链接报名申请。

活动链接:https://summer-ospp.ac.cn/#/org/orgdetail/2994d279-0fba-47b1-9247-7b5ab604f1a8/

项目详情

本届开源之夏,Curve 社区申报了四个项目,题目类型覆盖了打包工具、挂载权限、容量分配、运维工具等多个领域的开发,难度等级为三基础一进阶,均由社区资深维护者带队完成。具体如下:

项目 1:PFS 和 CurveBS 客户端 deb/rpm 打包工具

PFS (Polar FileSystem) 是阿里开源的针对 PolarDB 数据库的文件系统,我们希望通过 PFS+CurveBS 打造云原生数据库的存储解决方案,当前 CurveBS 已支持 PolarDB for PostgreSQL。虽然 PFS 和 CurveBS 对接、联调已经完成,但仍缺乏在物理机上简易的部署方式。本项目目标为支持 PFS+CurveBS 的客户端在 CentOS7/8、Debian9/10、Ubuntu 打包,项目难度为基础,要求参与者熟悉基本的 Linux 命令,脚本语言 Bash script ,以及 FPM 打包工具使用。

项目 2:CurveBS 支持读挂载和写挂载及读写权限转换

CurveBS 对接 PFS 时支持了单个卷的共享挂载,但是并没有限制各个挂载点的读写权限,可能会出现多个挂载点同时写数据,从而导致数据错乱、丢失、不一致等问题。本项目将弥补此项缺失,支持在挂载卷时指定读写权限(读写、只读),以及挂载后读写权限的动态变更。本项目难度为进阶,参与项目需要熟悉 C++ 软件开发,gtest 等相关单元测试框架,以及 inux 上的编译、调试命令,如 GCC、GDB 等。

项目 3:CurveBS 分配容量策略和运维工具容量统计优化

容量管理是存储软件的基础功能之一,本项目任务包括分配容量不足则阻止创建新卷、分配卷容量使用的容量值与统计工具统一,及 CurveBS 运维工具显示容量命令优化等。项目难度为基础,需要熟悉 C++ 软件开发, gtest 等相关单元测试框架,以及 Linux 上的编译、调试命令,如 GCC、GDB 等,此外要了解 CurveBS 的单机部署及集群容量管理方式。

项目 4:为 CurveAdm 增加显示服务监听端口

CurveAdm 是为提高 Curve 系统易用性而打造的工具,主要用于部署和运维 CurveBS/CurveFS 集群。本项目要求实现 CurveAdm 查看服务状态时显示服务监听的所有端口,保证现有 CurveAdm 功能正常。项目难度为基础,参与者需要了解 Curve/CurveAdm 项目的部署使用,了解 Go 语言 及 Docker 基本操作。

项目收益

  • 深度了解前沿的云原生分布式存储技术架构与知识;

  • 了解开源社区运作模式与参与方式,增加开源社区贡献经验;

  • 通过一线大厂导师提前感受企业级软件开发流程;

  • 增强技术能力与项目经历,提升个人事业起点;

  • 开源之夏官方发的奖金和证书,普通和进阶难度对应奖金分别为税前金额 8000 元和 12000 元。

如何参与

学生可根据兴趣自由选择项目,撰写项目申请书提出申请,并在社区导师的指导下开展项目开发贡献代码至社区(可以通过活动页面找到项目对应导师的联系邮箱与导师进行深度沟通)。主办方将根据学生结项情况、参与度、代码贡献等发放奖金、证书。

活动页面:https://summer-ospp.ac.cn/#/org/orgdetail/2994d279-0fba-47b1-9247-7b5ab604f1a8/

申请资格

  • 本活动面向年满 18 周岁在校学生。

  • 暑期即将毕业的学生,只要在申请时学生证处在有效期内,就可以提交申请。

  • 海外学生可提供录取通知书 / 学生卡 / 在读证明证明学生身份。

相关文档

  • 了解 CurveBS 的单机部署,能完成相关的功能测试:

https://github.com/opencurve/curveadm/wiki

  • 了解部署工具 CurveAdm 的设计:

https://github.com/opencurve/curveadm/wiki/overview

  • 了解 Curve 测试框架:

https://github.com/opencurve/curve/blob/master/docs/cn/gtest.md

  • Curve 代码仓库:

https://github.com/opencurve/curve

开源之夏活动里程碑

* 默认时区为北京时间(UTC+8)

2022 开源之夏 | Curve 邀你与中国存储软件共成长,赢万元奖金的更多相关文章

  1. 参与开源之夏 x OpenTiny 跨端跨框架 UI 组件库贡献,可以赢取奖金🏆!这份《OpenTiny 开源贡献指南》请收好🎁!

    大家好,我是 Kagol. 近期有几位朋友在 OpenTiny 技术交流群里询问我们在开源之夏(OSPP)的项目,希望能提前做一些准备工作. 这里给大家简单介绍下开源之夏. 开源之夏是由中科院软件所& ...

  2. 开源yYmVc项目,邀您和我一起开发:)

    打算在闲暇时间写个MVC框架,要有什么功能一步一步边写边加,仿照struts 2 和 spring mvc.假设您感兴趣的话,能够私密我,给您加入key:). 欢迎您的到来~ 项目放在基于GIT的CS ...

  3. Kagol:2022年最值得推荐的前端开源文章

    大家好,我是 Kagol,Vue DevUI 作者,从2020年开始一直专注于前端开源组件库的建设,在前端开源组件库.开源社区运营方面积累了一些经验,2020年主要的创作也是围绕前端组件库和开源两个主 ...

  4. 微服务开源生态报告 No.2

    通常,我们都会通过在 GitHub 上订阅邮件列表,来了解社区动态.这一次,我们联合以上各开源项目的负责人,发布「微服务开源生态报告」,汇集各个开源项目近期的社区动态,帮助开发者们更高效的了解到各开源 ...

  5. “开源、共享、创新” 2020 中国.NET开发者大会小结

    大会的新闻稿在2020年12月31日正式发布:开源·共享·创新|2020年中国.NET开发者大会圆满收官! , 本文是这篇新闻的补充性文章,仅代表个人对大会的各方面分享内容的一个小结. 在2019年上 ...

  6. Java学习笔记:2021年12月31日下午-2022年1月1日上午

    Java学习笔记:2021年12月31日下午-2022年1月1日上午 摘要:主要记录了计算机的电气构成,学习Linux系统的原因以及关于Linux以及相关操作的基础知识. 目录 Java学习笔记:20 ...

  7. Curve 文件存储在 Elasticsearch 冷热数据存储中的应用实践

    Elasticsearch在生产环境中有广泛的应用,本文介绍一种方法,基于网易数帆开源的Curve文件存储,实现Elasticsearch存储成本.性能.容量和运维方面的显著提升. ES 使用 Cur ...

  8. 【云享专刊】开源遇上华为云,OCP架构变身“云原生框架”

    摘要:华为云DTSE团队出品云原生改造指南,助力轻松实践OCP上云. 本文分享自华为云社区<[云享专刊]开源遇上华为云,OCP架构变身"云原生框架">,作者:华为云社区 ...

  9. 2014 年最热门的国人开发开源软件 TOP 100 - 开源中国社区

    不知道从什么时候开始,很多一说起国产好像就非常愤慨,其实大可不必.做开源中国六年有余,这六年时间国内的开源蓬勃发展,从一开始的使用到贡献,到推出自己很多的开源软件,而且还有很多软件被国外的认可.中国是 ...

  10. 2014 年最热门的国人开发开源软件TOP 100

    不知道从什么时候开始,很多一说起国产好像就非常愤慨,其实大可不必.做开源中国六年有余,这六年时间国内的开源蓬勃发展,从一开始的使用到贡献,到推出自己很多的开源软件,而且还有很多软件被国外认可.中国是开 ...

随机推荐

  1. pageoffice6 版本实现word 文件添加水印

    在很多场景下,Word文档正式发文之前,或者说形成最终文档之前,常常需要往Word文件中添加水印,并且会根据文件类型或内容的不同,需要添加的水印也不一样. 添加水印是Word软件里的一个简单功能,直接 ...

  2. Python:conda install 和pip install的区别

    pip是个安装包的软件,conda是个环境管理的工具.conda能够安装多个python解释器,pip不行.因此conda在实际开发中是主要用来隔离不同的python版本和Tensorflow& ...

  3. 二:nacos 的服务注册

    一:怎么引用依赖 dependencyManagement:spring cloud alibaba 的版本,由于spring cloud alibaba 还未纳入spring cloud 的主版本管 ...

  4. objectarx acedInitGet的使用

    int rc;TCHAR keyword[20]; acedInitGet(NULL, TEXT("U Y O"));rc = acedGetPoint(ptPre, L" ...

  5. Swift Copy On Write 多线程下面的资源竞争

    Swift中的String.Array.Dictionary等容器类型默认实现了写时复制,这个操作在多线程下面可能会带来错误 https://bugs.swift.org/browse/SR-6543

  6. 适用于linux的bilibiliB站直播间弹幕爬虫脚本

    适用于linux的bilibiliB站直播间弹幕爬虫脚本,命令行运行之,输入到命令行,部分内容参考自网络,代码底部可见原始代码出处 BUFF:然而,经测试,每次爬只能读取10条弹幕记录,这就使得在(s ...

  7. 快速生成树协议(RSTP)基本知识及实验(使用eNSP)

    关于生成树协议的知识可参考我的另一个博客:https://www.cnblogs.com/mrlayfolk/p/12242627.html 这篇博文主要介绍快速生成树协议(RSTP)的基本知识.-- ...

  8. Matlab打印运行进度

      在运行matlab程序的过程中,有时候需要实时地掌握程序运行的进度,尤其对于一些耗时较长的循环操作,能够及时地输出运行进度,显得非常有必要.   打印进度条的实现方式就是不断地退格.输出.   退 ...

  9. 如何创建一个线程池,为什么不推荐使用Executors去创建呢?

    我们在学线程的时候了解了几种创建线程的方式,比如继承Thread类,实现Runnable接口.Callable接口等,那对于线程池的使用,也需要去创建它,在这里我们提供2种构造线程池的方法: 方法一: ...

  10. xv6 磁盘中断流程和启动时调度流程

    首发公号:Rand_cs 本文讲述 xv6 中的一些细节流程,还有对之前文中遗留的问题做一些补充说明,主要有以下几个问题: 一次完整的磁盘中断流程 进入调度器后的详细流程 sched 函数中的条件判断 ...