 Curve质量监控与运维 - 网易数帆 设计流程  文档规范 开发  编码规范与提交流程  版本管理 测试  测试方法论  CI与异常测试 6/33设计流程 Curve团队采用敏捷开发模式,负责人在制定迭代计划时,确认哪些任务需要设计 文档:  小需求(改动小)将实现思路记录到任务管理系统中(JIRA),即可进行开发;  大需求(新模块、复杂功能)需要输出独立设计文档,并进行评审;对于功能或 小版本一般1~2个月发布一次。  z为修订号,修复一批bug后递增。  后缀表示版本状态,beta表示测试版本,rc 表示发布候选版本,空白表示正式版。 Curve所有功能开发均在master分支进行,而版本发布则在相应的release分支进行:  从master拉出一个新分支release-x.y,打beta版标签后,提交QA团队测试 ;  beta版的bug修复代码先合入m beta版的bug修复代码先合入master分支,再cherry-pick到release-x.y分支;  beta版bug修复完成后,打rc版标签(可能有多个rc版),上线到测试环境;  经bug修复和长时间运行测试后,若代码达到正式上线标准,则发布正式版。 v1.0.0-beta v1.1.0-beta master v1.1.0-rc0 release-1.1 v1.0.0-rc0 v1.0.0 v1.0.10 码力 | 33 页 | 2.64 MB | 6 月前3 Curve质量监控与运维 - 网易数帆 设计流程  文档规范 开发  编码规范与提交流程  版本管理 测试  测试方法论  CI与异常测试 6/33设计流程 Curve团队采用敏捷开发模式,负责人在制定迭代计划时,确认哪些任务需要设计 文档:  小需求(改动小)将实现思路记录到任务管理系统中(JIRA),即可进行开发;  大需求(新模块、复杂功能)需要输出独立设计文档,并进行评审;对于功能或 小版本一般1~2个月发布一次。  z为修订号,修复一批bug后递增。  后缀表示版本状态,beta表示测试版本,rc 表示发布候选版本,空白表示正式版。 Curve所有功能开发均在master分支进行,而版本发布则在相应的release分支进行:  从master拉出一个新分支release-x.y,打beta版标签后,提交QA团队测试 ;  beta版的bug修复代码先合入m beta版的bug修复代码先合入master分支,再cherry-pick到release-x.y分支;  beta版bug修复完成后,打rc版标签(可能有多个rc版),上线到测试环境;  经bug修复和长时间运行测试后,若代码达到正式上线标准,则发布正式版。 v1.0.0-beta v1.1.0-beta master v1.1.0-rc0 release-1.1 v1.0.0-rc0 v1.0.0 v1.0.10 码力 | 33 页 | 2.64 MB | 6 月前3
 PAI & TVM Meetup - Shanghai 20191116B_shareal_locollol A_sharea_locolloj compute_locallo族 了 了 Performance Optimization 计划了全事业部 “Same as non-TensorCore CUDA codegen 。Auto tune tiling sizes 。 Vectorized load/store for higher0 码力 | 26 页 | 5.82 MB | 5 月前3 PAI & TVM Meetup - Shanghai 20191116B_shareal_locollol A_sharea_locolloj compute_locallo族 了 了 Performance Optimization 计划了全事业部 “Same as non-TensorCore CUDA codegen 。Auto tune tiling sizes 。 Vectorized load/store for higher0 码力 | 26 页 | 5.82 MB | 5 月前3
 Curve核心组件之chunkserverChunkServer架构ChunkOpRequest模块封装了对 ChunkService到达的I/O请求的实际处 理过程。请求到来时,封装一个 OpRequest,将上下文保存在里面,然 后发起Propose提交给raft,等raft apply后再执行后面的操作。 ChunkServer架构CloneManager主要负责克隆相关的功 能,内部是一个线程池,主要负责异 步完成克隆chunk的数据补全。关于克 entry成功,并且有一个peer也落 盘成功,则commit 5. Commit后apply,此时把写请求写到chunkChunkServer核心模块-CopysetNode 坏盘(CS1对应的盘)后的迁移流程 初始状态,copyset1,copyset2,copyset3的三个副本分别在 CS1,CS3,CS4上,完成迁移后,CS1上的副本迁移到CS2上 ① CS1超时未向MDS上报心跳(默认半小时) MDS在得知CS1上的所有copyset都成功迁移后,把CS1设置为 retired,CS1下线完毕。ChunkServer核心模块-CopysetNode 换盘(CS1对应的盘)后重新上线的流程 初始状态,copyset1,copyset2,copyset3的三个副本分别在 CS2,CS3,CS4上,完成恢复后,CS2上的copyset1,2,3迁移到CS1上 ① CS1换了新盘,并重新格式化后启动chunkserver0 码力 | 29 页 | 1.61 MB | 6 月前3 Curve核心组件之chunkserverChunkServer架构ChunkOpRequest模块封装了对 ChunkService到达的I/O请求的实际处 理过程。请求到来时,封装一个 OpRequest,将上下文保存在里面,然 后发起Propose提交给raft,等raft apply后再执行后面的操作。 ChunkServer架构CloneManager主要负责克隆相关的功 能,内部是一个线程池,主要负责异 步完成克隆chunk的数据补全。关于克 entry成功,并且有一个peer也落 盘成功,则commit 5. Commit后apply,此时把写请求写到chunkChunkServer核心模块-CopysetNode 坏盘(CS1对应的盘)后的迁移流程 初始状态,copyset1,copyset2,copyset3的三个副本分别在 CS1,CS3,CS4上,完成迁移后,CS1上的副本迁移到CS2上 ① CS1超时未向MDS上报心跳(默认半小时) MDS在得知CS1上的所有copyset都成功迁移后,把CS1设置为 retired,CS1下线完毕。ChunkServer核心模块-CopysetNode 换盘(CS1对应的盘)后重新上线的流程 初始状态,copyset1,copyset2,copyset3的三个副本分别在 CS2,CS3,CS4上,完成恢复后,CS2上的copyset1,2,3迁移到CS1上 ① CS1换了新盘,并重新格式化后启动chunkserver0 码力 | 29 页 | 1.61 MB | 6 月前3
共 3 条
- 1













