服务化架构-服务的限流与熔断

前言

服务的限流、熔断是保证系统高可用的两个非常重要的举措,但有人会把限流和熔断的概念混淆,在这里做一个简单的区分。

为了方便说明,我们先做一个情景设定:有3个系统,A、B、C,他们之间的调用关系是这样的:A->B->C,也就是说,A是B的上游,C是B的下游。这里针对B系统做限流、熔断的说明。

限流

限流是针对上游系统的请求来说的,对于B来说,如果上游A的请求量过大,那么就需要对A做限流,来保护自己不被流量冲垮。
关于限流,请看这篇文章:《服务的限流》

熔断

熔断是针对下游的系统来说的。举个栗子,如果下游C系统出问题了,服务100%超时,这时候你可以先不去请求C了,直到C恢复再去请求。这种措施就叫熔断。
关于熔断,请看这篇文章:《服务的熔断》