Сообщение об ошибке:
Код: Выделить всё
{
"timestamp": "2024-06-24T14:01:32.938+00:00",
"path": "/departments",
"status": 503,
"error": "Service Unavailable",
"requestId": "1a88ca39-1"
}
Сервер Eureka (реестр служб) регистрирует только шлюз API, а не другие службы (
Код: Выделить всё
department-service
Файлы конфигурации:
Конфигурация реестра служб (Eureka):
Код: Выделить всё
server:
port: 8761
spring:
application:
name: service-registry
eureka:
client:
register-with-eureka: false
fetch-registry: false
serviceUrl:
defaultZone: http://service-registry:8761/eureka/
Код: Выделить всё
server:
port: 8060
eureka:
client:
serviceUrl:
defaultZone: http://service-registry:8761/eureka/
spring:
application:
name: api-gateway
cloud:
gateway:
routes:
- id: employee-service
uri: lb://employee-service
predicates:
- Path=/employees/**
- id: department-service
uri: lb://department-service
predicates:
- Path=/departments/**
- id: project-service
uri: lb://project-service
predicates:
- Path=/projects/**
Код: Выделить всё
spring:
application:
name: department-service
config:
import: "optional:configserver:http://config-server:8088"
Конфигурация сервера< /strong>:
Код: Выделить всё
server:
port: 8088
spring:
application:
name: config-server
profiles:
active: native
cloud:
config:
server:
native:
search-locations: classpath:/config
Код: Выделить всё
eureka:
client:
serviceUrl:
defaultZone: http://service-registry:8761/eureka/
spring:
application:
name: department-service
datasource:
url: jdbc:jdbc:postgresql://postgres:5432/microservice_comp_data
username: postgres
password: password
driver-class-name: org.postgresql.Driver
jpa:
hibernate:
ddl-auto: update
show-sql: true
properties:
hibernate:
format_sql: true
database: postgresql
database-platform: org.hibernate.dialect.PostgreSQLDialect
server:
error:
include-message: always
port: 8081
management:
tracing:
sampling:
probability: 1.0
Docker Compose< /strong>:
Код: Выделить всё
version: '3.8'
services:
config-server:
build:
context: ./config-server
ports:
- "8088:8088"
service-registry:
build:
context: ./service-registry
ports:
- "8761:8761"
depends_on:
- config-server
department-service:
build:
context: ./department-service
ports:
- "8081:8081"
environment:
SPRING_DATASOURCE_URL: jdbc:postgresql://postgres:5432/microservice_comp_data
SPRING_DATASOURCE_USERNAME: postgres
SPRING_DATASOURCE_PASSWORD: password
depends_on:
- service-registry
- postgres
employee-service:
build:
context: ./employee-service
ports:
- "8082:8082"
environment:
SPRING_DATASOURCE_URL: jdbc:postgresql://postgres:5432/microservice_comp_data
SPRING_DATASOURCE_USERNAME: postgres
SPRING_DATASOURCE_PASSWORD: password
depends_on:
- department-service
project-service:
build:
context: ./project-service
ports:
- "8083:8083"
environment:
SPRING_DATASOURCE_URL: jdbc:postgresql://postgres:5432/microservice_comp_data
SPRING_DATASOURCE_USERNAME: postgres
SPRING_DATASOURCE_PASSWORD: password
depends_on:
- employee-service
api-gateway:
build:
context: ./api-gateway
ports:
- "8060:8060"
depends_on:
- service-registry
postgres:
image: postgres:latest
container_name: postgres-container
environment:
POSTGRES_DB: microservice_comp_data
POSTGRES_USER: postgres
POSTGRES_PASSWORD: password
ports:
- "5431:5432"
zipkin:
image: openzipkin/zipkin
ports:
- "9411:9411"
Подробнее здесь: https://stackoverflow.com/questions/786 ... endpoint-v