哈哈,瞎写个东西,自己看。
在操作,Springcloud Alibaba 中sentinel 遇到的个问题feign 的fallback不生效。
- feign可以对服务接口做降级处理
接口服务异常后,可以调用自己配置的降级服务,这个过程不影响其他服务,我们只需要在配置的降级服务里重新对业务进行处理。
- 导包啦,先是openfeign
还需要添加依赖,这里是直接网络上复制的某个版本过来。(后面的时候因为版本问题,导致了本文所要记录的一个问题,哈哈) - sentinel 中整合了fegin
- 在接口上注明 所配置的类
2. 该类实现可能出现异常的的服务接口,并重写
3. 还需要开启sentinel对feign的支持
feign:
sentinel:
#开启sentinel对feign的支持
enabled: true
启动服务后,调用失败后没进入自定义的fallback处理的异常如下
- com.alibaba.cloud.sentinel.feign.SentinelContractHolder.parseAndValidatateMetadata(Ljava/lang/Class;)Ljava/util/List;
- com.netflix.client.ClientException: Load balancer does not have available server for client: credit-service
问题所在:
spring-cloud-alibaba 与 spring-cloud 的版本问题,按规定对应版本修改后,问题解决。
毕业版本依赖关系(推荐使用)
依赖关系参考官方:https://github.com/alibaba/spring-cloud-alibaba/wiki/%E7%89%88%E6%9C%AC%E8%AF%B4%E6%98%8E