Spring cloud 如何在特定@FeignClient上禁用eureka查找
我有一个微服务,它主要使用Spring cloud 如何在特定@FeignClient上禁用eureka查找,spring-cloud,spring-cloud-netflix,spring-cloud-feign,Spring Cloud,Spring Cloud Netflix,Spring Cloud Feign,我有一个微服务,它主要使用@FeignClient与其他微服务对话。使用Eureka的服务发现机制,这项工作非常出色 现在我迫切需要使用@FeignClient连接到外部系统,并且仍然使用如下所示的配置执行负载平衡 外国客户: @FeignClient("externalServers") public interface ExternalServersClient { @RequestMapping(method = RequestMethod.GET, value = "/someE
@FeignClient
与其他微服务对话。使用Eureka的服务发现机制,这项工作非常出色
现在我迫切需要使用@FeignClient
连接到外部系统,并且仍然使用如下所示的配置执行负载平衡
外国客户
:
@FeignClient("externalServers")
public interface ExternalServersClient {
@RequestMapping(method = RequestMethod.GET, value = "/someExternalUrl")
ResponseEntity<Object> callExternalServer();
}
从我看过的许多文档中,建议禁用eureka以允许从可用的服务器列表中获取负载平衡。我做了跟进,并使用以下配置禁用它
application.yml
:
externalServers:
ribbon:
listOfServers: server1:18201,server2:18201
ribbon:
eureka:
enabled: false
这使我能够为针对外部系统的外部客户端执行负载平衡,但需要使用服务发现的所有其他外部客户端都已中断
是否有任何方法可以单独为外部系统禁用eureka for Foreign client设置,但允许它为其他客户端正常运行
提前谢谢 在spring cloud netflix 1.2.0(Camden发行系列的一部分)中,添加了设置服务器列表实现的功能 您将能够执行以下操作:
externalServers:
ribbon:
NIWSServerListClassName: com.netflix.loadbalancer.ConfigurationBasedServerList
listOfServers: server1:18201,server2:18201
可能在8月或9月发布。感谢您的快速回复!在1.2.0可用之前,我是否能够使用
@RibbonClient
以及@faignclient
自定义配置?或者更好。。。我将尝试根据您所做的更改替换默认的RibbonConfiguration@斯宾塞·吉布做这个工作?我可以在那里输入一个服务名称,这是eureka服务吗?超过名单?所以类似于consult-proxy.ribbon.NIWSServerListClassName:com.netflix.loadbalancer.ConfigurationBasedServerList
和consult-proxy.ribbon.listOfServers:server1:18201,server2:18201