Curve核心组件之Client - 网易数帆
请求会被拆分成两个子请求: ChunkIdx 1, off: 8M len 8M ChunkIdx 2, off: 0 len 8MCLIENT IO流程 子请求由哪个chunkserver处理,依赖以 下信息: 逻辑chunk与物理chunk映射关系 物理chunk所属的复制组(copyset) 复制组所在的chunkserver列表 复制组的leader信息CLIENT 放入任务队列后,异步请求发起成功,返回用户 IO拆分线程 4. 从任务队列取出任务后进行拆分 5. 拆分过程依赖元数据,可能会通过MDSClient向 MDS获取 6. 拆分成的子请求放入队列CLIENT IO线程模型 IO分发线程 7. 从队列中取出子请求准备发送 8. 发送依赖复制组leader,可能会向 Chunkserver查询复制组leader 9. 发送写请求给Chunkserver 热升级之前,QEMU是直接链接curve-client, 所以client版本需要升级时,需要对QEMU进 程进行重启。NEBD 整体介绍 在QEMU和Curve Client中间加入热升级模块,避 免直接依赖 热升级模块是CS结构: NEBD Client(part1):只包含轻量的业务逻辑, 以链接库的形式提供给QEMU使用 NEBD Server(part2):将NEBD Client的请求转0 码力 | 27 页 | 1.57 MB | 5 月前3
共 1 条
- 1