微服务架构(八): 断路器

工作中使用了微服务架构,接下来的一段时间里,我会写一系列的文章来介绍微服务架构,同时我也会在github上写一个microservices的应用框架(地址会在后续文章给出)。

这篇文章主要讲述了微服务架构中的断路器。

翻译和整理自:

  • http://microservices.io/patterns/reliability/circuit-breaker.html

一、上下文


你采用了微服务架构,services在处理请求时有时候需要共同合作。当一个服务同步调用另一个时,有可能另一个服务不可用,或者有很大的延迟,几乎不可用。在等待另一个服务响应的时候,先前的资源,比如线程等也许在这个服务中被消耗了,这可能会导致资源耗尽,使得这个服务不能处理别的请求。 一个服务的失败可能会传导到别的服务中。


二、问题


怎么阻止一个service的失败传递到别的service中?

三、解决方案


当失败的请求达到一个阈值,断路器生效,在一段时间内,所有尝试调用这个service的请求都会立即失败。在时间窗口过期后,断路器允许一小部分请求过去,service是否已经恢复正常。







發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章