huaweicloud/spring-cloud-huawei

指定了URL的FeginClient代理对象依旧会通过负载均衡来决定访问哪个服务。

Closed this issue · 2 comments

Describe the bug

当使用FeignClientBuilder创建FeginClient对象,并且填入了url参数的时候,无法实现直接访问url还是通过负载均衡去寻找对应服务实例

image

但因为实际还是走了GovernanaceFeignBlockingLadBalancerClient,因此
image

报错内容:

20240626 09:07:41,470 | org.springframework.cloud.loadbalancer.core.RoundRobinLoadBalancer.getInstanceResponse(RoundRobinLoadBalancer.java:98) | WARN | | No servers available for service: 192.168.2.1

20240626 09:08:46,407 | com.huaweicloud.governance.adapters.feign.GovernanceFeignBlockingLoadBalancerClient.doExecute(GovernanceFeignBlockingLoadBalancerClient.java:264) | WARN | | Load balancer does not contain an instance for the service 192.168.2.1

是否应该修改GovernanceFeignBlockingLoadBalancerClient 继承于 FeignBlockingLoadBalancerClient,而不是直接继承Client类型?

springcloud-huawei版本为:1.11.7-2021.0.x

原生的feignClient指定地址的调用无法使用治理能力,为了实现第三方服务调用且保留治理,框架实现了通过配置定义第三服务的形式兼容使用,参考:
https://github.com/huaweicloud/spring-cloud-huawei/wiki/adapter-third-discovery