服务雪崩与容错
更新: 3/24/2025 字数: 0 字 时长: 0 分钟
大量的请求打到我们的服务器,很容易就会导致我们的服务器宕机,甚至是服务的崩溃。在这种情况下TP99/TP95就很保持一个高效的数值,为了应对服务的不可用/服务请求的超时,我们必需要设计一套容错方案
容错方案
服务限流
当流量打来时,我们对服务进行一个整体的限流,以防止大量的流量打垮我们的服务器
服务隔离
将服务拆分为多个模块并分别部署到多台服务器上,以保证无关联服务间不会相互影响
服务超时
当A服务(上游服务,调用方)调用B服务(下游服务,被调用方)时,若B服务不可用,则A服务检测一个最大的相应时长,若超出该时长,则A服务停止等待,并给出一个兜底方案
服务熔断
现在我们对每个服务进行一个监测,当服务出现故障(不健康)时,我们将服务进行熔断,此时上游服务再去调用熔断服务时,会直接停止调用,给出兜底方案给用户
相对于超时,服务熔断省去了等待的时间
还有一种形式为半熔断,上游服务会根据一定规则调用下游服务,在下游服务成功率较高的情况下发送有限的请求给下游服务,保证部分的请求可以完整相应,同时检测成功率,若成功率未达标准,则再次熔断
服务降级
一种服务托底方案,如果服务无法完成正常的调用流程,就使用默认的托底方案来返回数据(狡兔三窟)