Curve核心组件之chunkserver
Service层是对外提供的一些RPC服 务的接口。包含的RPC服务有: • ChunkService。IO相关操作 • CliService。成员变更相关操作 • CopySetService。创建copyset等操 作 • RaftService。Braft内置的service, 完成raft成员之间的选举,日志复制, 安装快照等操作。 ChunkServer架构CopysetNode封装了braft的Node,并 ChunkService到达的I/O请求的实际处 理过程。请求到来时,封装一个 OpRequest,将上下文保存在里面,然 后发起Propose提交给raft,等raft apply后再执行后面的操作。 ChunkServer架构CloneManager主要负责克隆相关的功 能,内部是一个线程池,主要负责异 步完成克隆chunk的数据补全。关于克 隆相关的内容将会在快照克隆相关介 绍文档中详细介绍。0 码力 | 29 页 | 1.61 MB | 5 月前3Curve质量监控与运维 - 网易数帆
情况,测试软件的性能和稳定性是否符合预期。 规模测试 测试模块在一定规模下是否能够正常工作,是否 会出现异常或者崩溃, 14/33系统测试 系统测试是对整个系统的测试,将硬件、软件、操作人员看作一个整体,检验它是否有不符 合系统说明书的地方。它是一个黑盒测试,可以发现系统分析和设计中的错误。 Curve的系统测试一般是由QA来完成,包含: 常规测试,主要是新增功能的手工测试; 选择最常用的参数值作为基础组合,在此基础上每次改变一个参数, 生成新用例。 16/33 我们可以依据Given-When-Then模式来编写具体的测试用例: Given —— 测试上下文 When —— 执行一系列操作 Then —— 得到一系列可观察的后果,即需要检测的断言·异常自动化测试实践 Robotframework 支持python关键字,灵活定义测试 完善的测试报告 完美兼容Jenkins 配置化(测试环境、测试负载定义) 控制用例时间(考虑一些折中方案) Case独立性 Case通用性(兼顾curve、ceph等) Tag规范(优先级、版本、运行时间) 最大化覆盖率(打乱操作顺序、随机 sleep) 精确性(checkpoint) 稳定性(避免环境因素、其他模块干扰) Curve使用Robotframework框架进行异常自动化测试, 相关代码见curve/robot0 码力 | 33 页 | 2.64 MB | 5 月前3
共 2 条
- 1