老师好,这一节有一个问题想问一下。就是在这几节课中,我们实现了服务端的降级和客户端的降级,我的代码都是可以正常运行的,也可以得到正常的结果。
但是这一节中有一个地方,就是当user服务(服务端)内部出现bug(比如1/0,或者sleep时间很长,但是不是被关闭)的情况下,我的代码确实会调用user服务端的全局降级,但是在我的代码也同时调用了客户端降级工厂里面的fallback方法。
请问为什么仅仅只是user服务出现错误,却不仅在user服务中调用了服务端的全局降级,而article服务中也会调用客户端的降级呢?这样我感觉似乎代码有点重复,因为服务端和客户端的fallback都被调用了。
因为我觉得在没有添加客户端降级的时候,我们客户端已经可以直接得到没有publisherId的response,所以即使添加以后,客户端也不需要调用降级工厂的方法。
我理解的是添加客户端降级之后,只有服务端(uer服务)被关闭才会调用客户端降级。但是如果服务端没有关闭,只是服务端内部出现错误,就只会只调用服务端的全局降级,而不需要调用客户端的降级工厂中的方法。我这个理解有哪些问题呢?
谢谢
一课收获分布式系统开发,微服务核心技术和中间件企业生产落地
了解课程