我有一个ft-admin
微伺服,它公开了2个端点app-config
和app-analytic
。在我的@EnableZuulProxy
网关项目中,我可以使用serviceId
定义路由规则并在微服务级别为Ribbon和Hystrix指定其他配置。
zuul:
routes:
admin-services:
path: /admin/**
serviceId: ft-admin
stripPrefix: true
ft-admin:
ribbon:
ActiveConnectionsLimit: 2
hystrix:
command:
ft-admin:
execution:
isolation:
thread:
timeoutInMilliseconds: 10000
我想知道是否有一种方法可以将上述每个app-config
和app-analytic
的配置分别降低到端点级别。目标是能够为每个端点提供不同的设置,如下所示。
zuul:
routes:
app-config-endpoint:
path: /app-config/**
serviceId: ft-admin
stripPrefix: false
app-analytic-endpoint:
path: /app-analytic/**
serviceId: ft-admin
stripPrefix: false
app-config-endpoint:
ribbon:
ActiveConnectionsLimit: 5
app-analytic-endpoint:
ribbon:
ActiveConnectionsLimit: 2
...
当我使用ft-admin.ribbon.ActiveConnectionsLimit: 2
在调试模式下运行网关项目时,可以在日志中看到以下几行。
c.netflix.config.ChainedDynamicProperty : Property changed: 'ft-admin.ribbon.ActiveConnectionsLimit = 2'
c.netflix.config.ChainedDynamicProperty : Flipping property: ft-admin.ribbon.ActiveConnectionsLimit to use it's current value:2
但是,当我使用app-config-endpoint.ribbon.ActiveConnectionsLimit: 5
运行项目时,会看到以下几行。
c.netflix.config.ChainedDynamicProperty : Property changed: 'ft-admin.ribbon.ActiveConnectionsLimit = -2147483648'
c.netflix.config.ChainedDynamicProperty : Flipping property: ft-admin.ribbon.ActiveConnectionsLimit to use NEXT property: niws.loadbalancer.availabilityFilteringRule.activeConnectionsLimit = 2147483647
我尝试搜索大量帖子,但似乎配置始终在微服务级别停止。端点/路由级别的配置被完全忽略。
如果您能指出正确的方向,或者告诉我您的故事(如果您以前曾尝试过的话),我将不胜感激。