一份微服务架构手稿图,彻底搞定微服务核心原理(17)

熔断、隔离、限流、降级

面对巨大的突发流量下 , 大型公司一般会采用一系列的熔断(系统自动将服务关闭防止让出现的问题最大化)、隔离(将服务和服务隔离 , 防止一个服务挂了其他服务不能访问)、限流(单位时间内之允许一定数量用户访问)、降级(当整个微服务架构整体的负载超出了预设的上限阈值或即将到来的流量预计将会超过预设的阈值时 , 为了保证重要或基本的服务能正常运行 , 我们可以将一些不重要或不紧急的服务或任务进行服务的延迟使用或暂停使用)措施 。

下面介绍一下 Hystrix 的运行流程:

Hystrix 停止开发 , Spring Cloud 何去何从?

每一个微服务调用时 , 都会使用 Hystrix 的 Command 方式(上图的左上角那个) , 然后使用 Command 同步的 , 或者是响应式的 , 或者是异步的 , 判断电路是否熔断(顺着图从左往右看) , 如果断路则走降级 Fallback 。

如果这个线闭合着 , 但是线程资源没了 , 队列满了 , 则走限流措施(看图的第 5 步) 。

推荐阅读