Curve核心组件之Client - 网易数帆
处理逻辑是sleep一个较短时间后重试,但是存在两种特殊的场景: Chunkserver Overload: 这种情况下,对应的RPC Response中返回的错误码是OVERLOAD,说明底层Chunkserver正在处理的 请求数量过多。按照一般重试逻辑,大概率情况下重试请求还是返回OVERLOAD,造成用户IO请求一直 无法返回。 加入睡眠时间指数退避,并加入一个随机值,避免sleep后大量重试又碰撞到一起。 eep后大量重试又碰撞到一起。 RPC超时: 请求在chunkserver端处理请求处理时间长,导致请求的返回时间超过了预期的RPC超时时间。 这种情况下,如果重试请求的RPC超时时间不发生变化,也有可能会重复上述流程,导致用户IO请求迟迟 未能返回。所以,在这种情况下,重试请求会将RPC超时时间进行增加。CURVE基本架构 01 02 03 04 Client总体介绍 热升级NEBD总体介绍0 码力 | 27 页 | 1.57 MB | 5 月前3
共 1 条
- 1