Я пытаюсь что-то написать, используя архитектуру микросервисов.
Я создал Dockerfiles для каждого моего Сервиса. Давайте предположим, что у меня сейчас только 2 микросервиса: Eureka и Gateway. Я пытаюсь зарегистрировать сервис Gateway в Eureka.
Вот свойства Gateway:
server:
port: 8000
zuul:
prefix: /api
routes:
multiplications:
path: /multiplications/**
serviceId: multiplication
strip-prefix: false
results:
path: /results/**
serviceId: multiplication
strip-prefix: false
leaders:
path: /leaders/**
serviceId: gamification
strip-prefix: false
endpoints:
trace:
sensitive: false
eureka:
client:
service-url:
default-zone: http://service-registry:8761/eureka/
Вот свойства Эврики:
server:
port: 8761
Я использую Docker compose для своих контейнеров. Вот докер-compose.yml
version: "3"
services:
service-registry:
build:
context: service-registry
image: service-registry:latest
ports:
- "8761:8761"
networks:
- backend
gateway:
build:
context: gateway
image: gateway:latest
depends_on:
- service-registry
ports:
- "8000:8000"
networks:
- backend
networks:
backend:
driver: bridge
Вот исключение из журналов:
com.netflix.discovery.shared.transport.TransportException: Невозможно выполнить запрос на любом известном сервере
Я не знаю, что с этим делать. Я попытался изменить хост eureka на localhost, но он не работает.