Как настроить Zuul Несколько экземпляров одного микросервиса - PullRequest
0 голосов
/ 24 декабря 2018

Я работаю в весеннем облачном проекте, и у меня есть сервис eruka, zull proxy и микросервис с сервисом имен дефектов (zull proxy и мой сервис дефектов - клиенты для eurka), и все работает нормально.в моем прокси Zull у меня есть следующая конфигурация:

eureka:
  client:
    register-with-eureka: true
    fetch-registry: true
    serviceUrl:
      defaultZone:  http://localhost:8370/eureka/
  instance:
      hostname: localhost

    zuul:
      prefix: /api
      routes:
        defects-service:
         path: /defects-service/**
         url: http://localhost:8300

моя проблема в настоящее время я запускаю два экземпляра моего сервиса дефектов на разных портах 8301 и 8302 (успешно зарегистрирован в службе eruka), но я незнать, как настроить прокси-сервер zull для балансировки нагрузки и запуска запросов перенаправления на три моих экземпляра на портах (8300,8301,8302).Обратите внимание, что Zull знает только экземпляр http://localhost:8300

. Может кто-нибудь, пожалуйста, помогите мне решить эту проблему.

С наилучшими пожеланиями.

Ответы [ 2 ]

0 голосов
/ 25 декабря 2018

решение этой проблемы заключается в использовании следующей конфигурации:

zuul:
      prefix: /api
      routes:
        defects-service:
         path: /defects-service/**
         serviceId: defects-service

после этого, если вы получили какую-либо ошибку, такую ​​как Hystrix Readed time out .. просто добавьте следующую конфигурацию:

hystrix:
  command:
    default:
      execution:
        isolation:
          thread:
            timeoutInMilliseconds: 11000
ribbon:
  ConnectTimeout: 10000
  ReadTimeout: 10000
0 голосов
/ 24 декабря 2018

Zuul поддерживает балансировку нагрузки из коробки, вместо предоставления url в вашей конфигурации, используйте serviceId:

 zuul:
      prefix: /api
      routes:
        defects-service:
         path: /defects-service/**
         serviceId: defects-service
...