Я настраиваю Spring Cloud в AWS ECS, но у меня проблема с Zuul / Eureka.Когда я пытаюсь достичь конечной точки "/ api / second / service2", я вижу эту ошибку:
Причина: com.netflix.client.ClientException: у балансировщика нагрузки нет доступного сервера для клиента: service2
Я использую Elastic IP для Eureka, как описано здесь https://github.com/Netflix/eureka/wiki/Deploying-Eureka-Servers-in-EC2.У меня есть 2 весенних загрузочных приложения, и я вижу их обоих в Eureka.Я могу поразить конечную точку напрямую.
Это конфигурация для сервера Eureka:
server:
port: 8761
eureka:
client:
fetchRegistry: false
registerWithEureka: false
eurekaServerURLContext: eureka
region: eu-west-3
eurekaServerPort: 8761
useDnsForFetchingServiceUrls: true
eurekaServerDNSName: my.dns
datacenter: cloud
Служба 2:
spring:
application:
name: service2
server:
port: 8882
eureka:
datacenter: cloud
instance:
preferIpAddress: true
client:
fetchRegistry: true
eurekaServerURLContext: eureka
region: eu-west-3
eurekaServerPort: 8761
useDnsForFetchingServiceUrls: true
eurekaServerDNSName: my.dns
Zuul:
pring:
application:
name: api-gateway
server:
port: 8080
eureka:
datacenter: cloud
client:
fetchRegistry: true
eurekaServerURLContext: eureka
region: eu-west-3
eurekaServerPort: 8761
useDnsForFetchingServiceUrls: true
eurekaServerDNSName: my.dns
zuul:
prefix: /api
routes:
first-service:
path: /first/**
serviceId: service1
second-service:
path: /second/**
serviceId: service2
У вас естьЛюбая идея, где может быть проблема?
РЕДАКТИРОВАТЬ: Это работает, только если я сопоставить порт моего экземпляра service2 с 8882 на порт 80