简单的服务熔断方案

参考Servlet规范中,处理请求时出现异常,异常处理的方式。可以设计一个分布式环境下,简单的熔断方案。
远程的服务可以抛出UnavailableException。当远程服务接口抛出UnavailableException时,处理好异常相关的工作。在此之上,根据异常时暂时的,还是永久的来保护服务。
如果是临时服务不可用,异常中应该带有不可用持续的时间长度,那么在此期间再有新的请求需要调用此接口,应该不调用此接口,直接返回失败。
如果是永久不可用,那么应该标记该接口永久不可用。任何时候有请求需要访问此接口都应该直接返回失败。
这个简单的熔断方案,可以避免在分布式环境下发现服务的雪崩效应。
但是,这个方案也存在一个问题,就是当远程服务彻底什么都不能返回时,应该怎么办。可以采用传统的方式,多次服务异常时标记服务不可用。调用时直接返回不可用。这样就统一了异常的处理。

转载于:https://www.cnblogs.com/x2zh/p/10624103.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值