流量治理核心策略

 

熔断、隔离、重试、降级、超时、限流

 

熔断

 

隔离 

 

重试

  • 感知错误:通过不同的错误码来识别不同的错误,在 HTTP 中 status code 可以用来识别不同类型的错误。

  • 重试决策:这一步主要用来减少不必要的重试,比如 HTTP 的 4xx 的错误,通常 4xx 表示的是客户端的错误,这时候客户端不应该进行重试操作,或者在业务中自定义的一些错误也不应该被重试。根据这些规则的判断可以有效的减少不必要的重试次数,提升响应速度。

  • 重试策略:重试策略就包含了重试间隔时间,重试次数等。如果次数不够,可能并不能有效的覆盖这个短时间故障的时间段,如果重试次数过多,或者重试间隔太小,又可能造成大量的资源(CPU、内存、线程、网络)浪费。

  • 对冲策略:对冲是指在不等待响应的情况主动发送单次调用的多个请求,然后取首个返回的回包。

 

超时

如何选择合适的超时阈值?超时时间选择需要考虑的几个点:

  • 被调服务的重要性;

  • 被调服务的耗时 P99、P95、P50、平均值;

  • 网络波动;

  • 资源消耗;

  • 用户体验。

 

 降级

 

 

限流

 

 

 

总结

  • 熔断 机制,包括传统熔断器和 Google SRE 模型,作为防止系统过载的重要工具

  • 隔离 策略,如动静隔离、读写隔离和机房隔离,通过物理或逻辑上分离资源和请求,减少单点故障的影响

  • 重试 策略,包括同步和异步重试,以及各种退避机制,帮助在失败时优雅地恢复服务。

  • 降级 操作,区分自动和手动降级,作为服务负载过重时的应急措施

  • 超时 控制,通过精细的策略来避免长时间等待和资源浪费

  • 限流 包括客户端和服务端限流,确保系统在高负载下仍能稳定运行

 

https://mp.weixin.qq.com/s/_3pht6cFdkuRfrE1z0dpKQ

posted @ 2024-06-30 17:34  人在江湖之诗和远方  阅读(7)  评论(0编辑  收藏  举报