我目前的环境是使用Eureka的Spring Cloud设置,我在应用程序中有多个Feign客户端。我想要做的是允许我的大多数Feign客户端通过发现服务器解析他们的服务,但是为了使用我当前正在开发的本地实例而阻止一两个这样做。我正在运行我正在开发的服务和本地客户端应用程序。
我希望客户端应用程序将发现用于所有服务发现,并覆盖一个Feign客户端以仅使用我本地运行的服务。
有没有办法在不禁用客户端的Eureka的情况下执行此操作?我已经探讨了这两个问题(https://trac.osgeo.org/gdal/wiki/BuildingOnUnix,one)并且没有设法让listOfServers字段产生任何影响,除非我禁用Eureka。如果在处理这个问题上很重要,我就把我想要连接的服务没有注册到eureka。
答案 0 :(得分:1)
您可以指定特定FeignClient的网址,而无需使用属性<ribbonclientname>.ribbon.NIWSServerListClassName
属性禁用Eureka客户端。
假设用于指导路由的服务ID为testA
。您可以在不禁用Eureka客户端的情况下定义以下属性。
testA:
ribbon:
NIWSServerListClassName: com.netflix.loadbalancer.ConfigurationBasedServerList
listOfServers: ${url for your test server}
如果您将com.netflix.loadbalancerConfigurationBasedServerList
指定为NIWSServerListClassName
,则您的Feign客户端中的功能区客户端将使用通过listOfServers
属性提供的地址,而不会禁用尤里卡。