开发者活动:等你参与

开发者活动方向解读

1. 新工具的支持方向
当前Curve有两个形态的存储:块存储文件存储。他们都有各自的工具。块存储的的工具有三个:curve_ops_toolcurvecurve_tool,这三个工具的功能是有重复的。文件存储的工具有一个curvefs_tool。这导致使用过程中的困惑。另外原有的工具使用的c++,工具的显示不够友好,不便于阅读。
因此使用 go 进行了工具重构。把块存储和文件存储的工具都放在当前新工具中,通过 curve fscurve bs 区分。
当前工具的架构已经搭建完成,邀请小伙伴们来一起实现各种命令。
旧工具和新工具输出对比:


开发者指南

2. 编译、库升级方向
当前Curve的存储有两个方向:块存储文件存储。他们有各自的编译脚本,脚本中的内容有很多是重复的,这会导致发现问题需要两边都改动,很容易忘记。同样的,块存储的deb打包脚本和tar打包脚本,也是有很多重复的内容。希望编译、打包的脚本可以合并,让代码演进和维护更容易。
另外Curve的构建也得益于一些开源项目,但当前并没有和开源社区保持同步更新,希望能更社区保持同步,作为用户参与其他社区的开源演进。

开发者指南见每个pr。

3. 监控优化方向
Curve当前使用bvar来收集监控指标,使用 grafana+promethues来进行数据的持久化和可视化。
在生产环境使用中发现当数据量特别大的时候,grafana显示的速度会很慢,甚至有时候获取数据超时直接失败。所以需要对监控的性能进行优化。当前promethues使用的是默认的时序数据库,先在希望用高性能的开源数据库来替代。

开发者指南见每个pr。

4. 深入代码实现的修改或者优化
Curve还在不断的演进中,所以有很多待完善、优化的功能。这一项列表中的issue都是优先级比较高,对Curve的性能、可观测性、功能有影响的部分,希望大家一起来完善。

开发者指南见每个pr。

5. Curve部署工具CurveAdm的功能支持
一个存储系统,易用性是非常重要的,否则对运维人员就是灾难。Curve原先使用ansible,进程直接跑在物理环境中。因为环境的差异,用户在使用过程遇到了各种各样的问题。
经历了一轮重构,全新的部署工具CurveAdm诞生了!它收获了很多用户的肯定。随着Curve版本的演进,需要在其中增加一些新的功能,希望大家一起来完善。

开发者指南

整体学习路径
在开发者活动选题之前,我们给参加开发者活动的小伙伴们一个分布式系统的学习的 Roadmap,该 Roadmap 是 Curve 团队的新人培养实践沉淀,大家可以根据自身需要自行学习。

☆ 了解分布式存储系统的基本知识目标:知道为什么需要分布式存储?分布式存储的难点在哪里?都有哪些解决方法参考资料:

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

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

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

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

1 个赞