简单的服务熔断方案

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

相关文章
相关标签/搜索