Я пытался создать докер-составной стек с Spring Cloud Gateway, Eureka, сервисом конфигурации и некоторыми микро-сервисами.Эти службы запускаются и работают на своих собственных открытых портах, служба конфигурации работает, и Eureka регистрирует эти службы.Но я не могу заставить Spring Cloud Gateway работать.
Служба запускается правильно (или, по крайней мере, в журнале нет ошибок), и когда я удален в контейнер, я могу запросить службу, которую хочу вызвать, но если я попытаюсь запросить ее черезСконфигурированный маршрут я получаю 404.
Конфигурация моего шлюза (для удобства я объединила конфигурацию службы конфигурации и bootstrap.yml):
spring:
application:
name: gateway-service
cloud:
config:
uri: http://config-service:8080
eureka:
client:
serviceUrl:
defaultZone: http://discovery-service:8061/eureka/
logging:
pattern:
console: "%d{yyyy-MM-dd HH:mm:ss} ${LOG_LEVEL_PATTERN:-%5p} %m%n"
spring:
cloud:
gateway:
routes:
- id: employee-service
predicates:
- "Path=/employee/**"
filters:
- StripPrefix=1
uri: "http://employee-service:8080"
Я почти уверен, чтопросто неправильно понял какую-то тривиальную вещь, и я на расстоянии одного клика от успеха, но ... я просто не могу его найти.
То, что я ожидаю, произойдет:
Мои контейнеры:
0.0.0.0:8080->8080/tcp, 8088/tcp employee-app_gateway-service_1
8088/tcp, 0.0.0.0:5082->5005/tcp, 0.0.0.0:8082->8080/tcp employee-app_employee-service_1
8088/tcp, 0.0.0.0:8011->8061/tcp employee-app_discovery-service_1
8088/tcp, 0.0.0.0:8012->8080/tcp employee-app_config-service_1