CURVE

Jenkins Coverage Robot failover Robot interface BUILD Status Docs Releases LICENSE

CURVE是网易自主设计研发的高性能、高可用、高可靠分布式存储系统,具有非常良好的扩展性。基于该存储底座可以打造适用于不同应用场景的存储系统,如块存储、对象存储、云原生数据库等。当前我们基于CURVE已经实现了高性能块存储系统,支持快照克隆和恢复 ,支持QEMU虚拟机和物理机NBD设备两种挂载方式, 在网易内部作为高性能云盘使用。

设计文档

快速开始

在您开始动手部署前请先仔细阅读特别说明部分:特别说明

部署All-in-one体验环境

单机部署

部署多机集群

多机部署

查询工具说明

查询工具说明

参与开发

部署编译开发环境

编译开发环境搭建

测试用例编译及运行

测试用例编译及运行

编码规范

CURVE编码规范严格按照Google C++开源项目编码指南来进行代码编写,请您也遵循这一指南来提交您的代码。

测试覆盖率要求

  1. 单元测试:增量行覆盖80%以上,增量分支覆盖70%以上
  2. 集成测试:与单元测试合并统计,满足上述覆盖率要求即可
  3. 异常测试:暂不做要求

其他开发流程说明

代码开发完成之后,提pr到curve的master分支。提交pr时,请填写pr模板。pr提交之后会自动触发CI,CI通过并且经过review之后,代码才可合入。 具体规则请见CONTRIBUTING.

版本发布周期

  • CURVE版本发布周期:大版本半年,小版本1~2个月
  • 版本号规则:采用3段式版本号,x.y.z{-后缀},x是大版本,y是小版本,z是bugfix,后缀用来区beta版本(-beta)、rc版本(-rc)、和稳定版本(没有后缀)。每半年的大版本是指x增加1,每1~2个月的小版本是y增加1。正式版本发布之后,如果有bugfix是z增加1。

分支规则

所有的开发都在master分支开发,如果需要发布版本,从master拉取新的分支release-x.y。版本发布从release-x.y分支发布。

反馈及交流

  • Github Issues:欢迎提交BUG、建议,使用中如遇到问题可参考FAQ或加入我们的User group进行咨询
  • FAQ:主要根据User group中常见问题整理,还在逐步完善中
  • User group:当前为微信群,由于群人数过多,需要先添加以下个人微信,再邀请进群。

介绍 - 图8