File tree Expand file tree Collapse file tree 1 file changed +1
-1
lines changed
Expand file tree Collapse file tree 1 file changed +1
-1
lines changed Original file line number Diff line number Diff line change @@ -93,7 +93,7 @@ SELECT posts.*, users.* FROM posts
9393
9494> [ !TIP] 当过载系统无法恢复时
9595
96- 如果系统接近过载,吞吐量被推到极限附近,它有时会进入恶性循环,变得效率更低,从而更加过载。例如,如果有很长的请求队列等待处理,响应时间可能会增加到客户端超时并重新发送请求的程度。这导致请求率进一步增加,使问题变得更糟——* 重试风暴* 。即使负载再次降低,这样的系统也可能保持过载状态,直到重新启动或以其他方式重置。这种现象称为 * 亚稳态故障* ,它可能导致生产系统的严重中断 [ ^ 7 ] [ ^ 8 ] 。
96+ 如果系统接近过载,吞吐量被推到极限附近,它有时会进入恶性循环,变得效率更低,从而更加过载。例如,如果有很长的请求队列等待处理,响应时间可能会增加到客户端超时并重新发送请求的程度。这导致请求率进一步增加,使问题变得更糟——* 重试风暴* 。即使负载再次降低,这样的系统也可能保持过载状态,直到重新启动或以其他方式重置。这种现象称为 * 亚稳态故障(Metastable Failure) * ,它可能导致生产系统的严重中断 [ ^ 7 ] [ ^ 8 ] 。
9797
9898为了避免重试使服务过载,你可以在客户端增加并随机化连续重试之间的时间(* 指数退避* [ ^ 9 ] [ ^ 10 ] ),并暂时停止向最近返回错误或超时的服务发送请求(使用 * 熔断器* [ ^ 11 ] [ ^ 12 ] 或 * 令牌桶* 算法 [ ^ 13 ] )。服务器还可以检测何时接近过载并开始主动拒绝请求(* 负载卸除* [ ^ 14 ] ),并发送响应要求客户端减速(* 背压* [ ^ 1 ] [ ^ 15 ] )。排队和负载均衡算法的选择也可能产生影响 [ ^ 16 ] 。
9999
You can’t perform that action at this time.
0 commit comments