关于客户端降级和服务端降级何时被调用的问题

来源:11-24 服务调用者降级【hystrix】

weixin_慕圣9341239

2020-11-04

老师好,这一节有一个问题想问一下。就是在这几节课中,我们实现了服务端的降级和客户端的降级,我的代码都是可以正常运行的,也可以得到正常的结果。

但是这一节中有一个地方,就是当user服务(服务端)内部出现bug(比如1/0,或者sleep时间很长,但是不是被关闭)的情况下,我的代码确实会调用user服务端的全局降级,但是在我的代码也同时调用了客户端降级工厂里面的fallback方法。

请问为什么仅仅只是user服务出现错误,却不仅在user服务中调用了服务端的全局降级,而article服务中也会调用客户端的降级呢?这样我感觉似乎代码有点重复,因为服务端和客户端的fallback都被调用了。

因为我觉得在没有添加客户端降级的时候,我们客户端已经可以直接得到没有publisherId的response,所以即使添加以后,客户端也不需要调用降级工厂的方法。
我理解的是添加客户端降级之后,只有服务端(uer服务)被关闭才会调用客户端降级。但是如果服务端没有关闭,只是服务端内部出现错误,就只会只调用服务端的全局降级,而不需要调用客户端的降级工厂中的方法。我这个理解有哪些问题呢?

谢谢

写回答

2回答

风间影月

2020-11-04

嗯是啊,这里是演示一下,其实降级都放在客户端就行,服务端可以不用管,多次有问题他会熔断的。

2
2
weixin_慕移动7390343
回复
weixin_慕圣9341239
厉害了,也解决了我的疑惑,看来只要在客户端控制降级即可
2022-12-24
共2条回复

Bluse666

2021-03-31

厉害,解答了我的疑惑

1
0

Spring Cloud 进阶 Alibaba 微服务体系自媒体实战

一课收获分布式系统开发,微服务核心技术和中间件企业生产落地

1113 学习 · 896 问题

查看课程