Curve核心组件之Client - 网易数帆请求会被拆分成两个子请求: ChunkIdx 1, off: 8M len 8M ChunkIdx 2, off: 0 len 8MCLIENT IO流程 子请求由哪个chunkserver处理,依赖以 下信息: 逻辑chunk与物理chunk映射关系 物理chunk所属的复制组(copyset) 复制组所在的chunkserver列表 复制组的leader信息CLIENT IO流程 定的Chunkserver上,RPC有可能会失败,一般情况下 处理逻辑是sleep一个较短时间后重试,但是存在两种特殊的场景: Chunkserver Overload: 这种情况下,对应的RPC Response中返回的错误码是OVERLOAD,说明底层Chunkserver正在处理的 请求数量过多。按照一般重试逻辑,大概率情况下重试请求还是返回OVERLOAD,造成用户IO请求一直 无法返回。 碰撞到一起。 RPC超时: 请求在chunkserver端处理请求处理时间长,导致请求的返回时间超过了预期的RPC超时时间。 这种情况下,如果重试请求的RPC超时时间不发生变化,也有可能会重复上述流程,导致用户IO请求迟迟 未能返回。所以,在这种情况下,重试请求会将RPC超时时间进行增加。CURVE基本架构 01 02 03 04 Client总体介绍 热升级NEBD总体介绍0 码力 | 27 页 | 1.57 MB | 6 月前3
共 1 条
- 1













