Curve质量监控与运维 - 网易数帆 集成测试 Given When Then 设计方法 500+用例 异常测试 40+自动化用例 混沌测试 20轮自动化随机故障注入 12/33单元测试 单元测试是软件开发的过程中最基本的测试,它用来对一个模块、一个函数或者一个类来进行 正确性检验的测试工作。 curve通过lcov统计代码覆盖率,衡量单元测试的完备程度,如下图所示: 13/33集成测试 测试目的 测试内容 没有出现预期外的下降或提升; 稳定性测试,在正常压力下运行足够长的时间; 异常测试,在正常流程中注入一种软硬件异常; 混沌测试,大压力多级故障(随机组合软硬件异常)。 在系统测试过程中,我们尽可能将所有用例自动化,其优点是: 大幅降低了测试回归成本,加快了测试进度; 可以对代码进行足够频繁的测试,有利于提高代码质量; 容易发现隐藏的问题,手工测试无法做到频繁触发 Server架构,以支持热升级。 升级Curve Client只需重启NEBD Server,业务IO中断时间一般在5 秒之内(右图为1.0版本实测结果)。 MDS易升级 自动化滚动升级——先升备再升主,确保升级过程中只发生一次主 备切换。 ChunkServer易升级 自动化滚动升级——升级一个zone的所有ChunkServer后,等待集 群恢复健康后,自动升级下一个zone的ChunkServer;以避免升级0 码力 | 33 页 | 2.64 MB | 6 月前3
Curve核心组件之chunkserver2、解析MDS的心跳response中的raft 成员变更信息,向CopysetNode发起变 更 ChunkServer架构ChunkOpRequest模块封装了对 ChunkService到达的I/O请求的实际处 理过程。请求到来时,封装一个 OpRequest,将上下文保存在里面,然 后发起Propose提交给raft,等raft apply后再执行后面的操作。 ChunkServer架构CloneManager主要负责克隆相关的功0 码力 | 29 页 | 1.61 MB | 6 月前3
共 2 条
- 1













