如何使用Zuul代理按路由或按端点配置功能区/ Hystrix

时间:2019-01-08 15:12:59

标签: java spring spring-boot spring-cloud netflix-zuul

我有一个ft-admin微伺服,它公开了2个端点app-configapp-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-configapp-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

我尝试搜索大量帖子,但似乎配置始终在微服务级别停止。端点/路由级别的配置被完全忽略。

如果您能指出正确的方向,或者告诉我您的故事(如果您以前曾尝试过的话),我将不胜感激。

0 个答案:

没有答案