Zuul не в состоянии маршрутизировать с микросервисом динамического порта - PullRequest
0 голосов
/ 13 ноября 2018

У меня есть микросервис с динамическим портом, т.е. server.port=0. Микросервис нормально регистрируется на eureka и работает.

Однако, когда я пытаюсь получить к нему доступ через шлюз Zuul, он не работает с приведенными ниже журналами в моем шлюзе zuul.

c.netflix.loadbalancer.BaseLoadBalancer  : Client: book instantiated a LoadBalancer: DynamicServerListLoadBalancer:{NFLoadBalancer:name=book,current list of Servers=[],Load balancer stats=Zone stats: {},Server stats: []}ServerList:null
c.n.l.DynamicServerListLoadBalancer      : Using serverListUpdater PollingServerListUpdater
c.netflix.config.ChainedDynamicProperty  : Flipping property: book.ribbon.ActiveConnectionsLimit to use NEXT property: niws.loadbalancer.availabilityFilteringRule.activeConnectionsLimit = 2147483647
c.n.l.DynamicServerListLoadBalancer      : DynamicServerListLoadBalancer for client book initialized: DynamicServerListLoadBalancer:{NFLoadBalancer:name=book,current list of Servers=[192.168.60.1:0],Load balancer stats=Zone stats: {defaultzone=[Zone:defaultzone;  Instance count:1;   Active connections count: 0;    Circuit breaker tripped count: 0;   Active connections per server: 0.0;]
},Server stats: [[Server:192.168.60.1:0;    Zone:defaultZone;   Total Requests:0;   Successive connection failure:0;    Total blackout seconds:0;   Last connection made:Thu Jan 01 05:30:00 IST 1970;  First connection made: Thu Jan 01 05:30:00 IST 1970;    Active Connections:0;   total failure count in last (1000) msecs:0; average resp time:0.0;  90 percentile resp time:0.0;    95 percentile resp time:0.0;    min resp time:0.0;  max resp time:0.0;  stddev resp time:0.0]
]}ServerList:org.springframework.cloud.netflix.ribbon.eureka.DomainExtractingServerList@4dbc2e52

Однако, когда я меняю порт моего микросервиса (book) на не динамический server.port = 8081, все работает нормально, и каждый раз мне приходится перезапускать приложение zuul. Я думаю, что это не очень хорошо, когда один из микросервисов меняет порт.

Позвольте мне поделиться содержанием application.yml обоих файлов.

Микросервис (книга), application.yml

spring:
  application:
    name: book

server:
  port: 0 # I change it between 0 and 8081 (8081 works like a charm)

eureka:
  client:
    service-url:
      defaultZone: ${EUREKA_URI:http://localhost:8761/eureka}
  instance:
    prefer-ip-address: true

Зуул application.yml

server:
  port: 8080
spring:
  application:
    name: gatekeeper

zuul:
  routes:
    book: 
      serviceId: book

#Added it so as to increase the timeout for the underlying hysterix of the zuul

hystrix:
  command:
    default:
      execution:
        isolation:
          strategy: THREAD
          thread:
            timeoutInMilliseconds: 60000

сервер Eureka application.yml

server:
  port: 8761

eureka:
  client:
    register-with-eureka: false
    fetch-registry: false

Облачная версия Sring является динамической (${spring-cloud.version}) с загрузкой 2.1.0.release.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...