虽然在《Spring Cloud构建微服务架构》系列文章中介绍了Hystrix服务降级和Hystrix断路器的概念。但是,我一直收到这样的问题:降级和熔断有什么区别?并且在多次交流的过程中,发现很多童鞋对降级和熔断的概念有混淆。因此,这篇博文将换一种方式来谈谈这两个概念,以帮助读者更好地理解前两篇文章介绍的两个重要知识。我们用一个日常故事来解释什么是服务降级,什么是断路器。故事背景是这样的:小强因为在工作中遇到了一些问题,想向业内专家小庄请教。于是出现了以下两种情况:小强拿起普通手机拨通发现手机打不通,于是拿出备用手机拨通了A的号码,这个过程称为降级(main逻辑故障采用交替逻辑处理)。由于小庄的讲解冗长难懂,每次小强与小庄沟通时,他都希望用自己平时用的手机来完成沟通,因为手机有录音功能,可以让他慢慢消化。由于上次用备用手机完成通信,小强又遇到了一些问题,于是又尝试用普通手机打电话,但这次打不通,只好拿出备用手机拨通了某某,这样一来,在拨号设备的选择上连续“降级”了几次之后,小强觉得自己常用的手机短期内可能会因为运营商的问题而无法正常拨号。因此,在一段时间的沟通中,小强就不再尝试了。用平时用的手机拨号,直接用备用手机拨号。这个策略就是fusing(普通手机短时间内出现多次故障暂时忽略,不再尝试使用)。通过上面的故事,读者是不是更容易理解降级和熔断的区别和关系呢?其实这里还有一个知识点没有提到,那就是熔断之后,自动恢复主逻辑。这个内容其实是在之前的文章中详细介绍了Hystrix断路器,有兴趣的读者不妨回顾一下本文的内容。【本文为专栏作家“翟永超”原创稿件,转载请联系作者获得授权】点此查看该作者更多好文
