在 error retry 设计中的一个技巧,对于后端微服务架构中,当一个被其他服务依赖度很高的服务崩溃时,其他服务相关的请求 failed 后该如何做呢?是不断的重试?如果一个很小的错误引发短暂的 failed,后续会引发其他相关依赖的服务短时间内的大量重试反而会加重该服务的负载压力。所以需要一个 exponential backoff 或者 randomized backoff 机制,将之后的重试以随机时间或指数关系后退,直到服务上线,避免雪崩效应
在 error retry 设计中的一个技巧,对于后端微服务架构中,当一个被其他服务依赖度很高的服务崩溃时,其他服务相关的请求 failed 后该如何做呢?是不断的重试?如果一个很小的错误引发短暂的 failed,后续会引发其他相关依赖的服务短时间内的大量重试反而会加重该服务的负载压力。所以需要一个 exponential backoff 或者 randomized backoff 机制,将之后的重试以随机时间或指数关系后退,直到服务上线,避免雪崩效应