Product, order and inventory services behind Spring Cloud Gateway (WebMVC), configuration from a Config Server, discovery with Eureka, a Resilience4j circuit breaker on order -> inventory and Brave tracing. Run as six plain jars; output/ holds real transcripts (config, registry, requests, trace propagation, circuit breaker, startup race and the load-balanced RestClient.Builder trap). Dockerfile and docker-compose.yml are included but were not run. Co-Authored-By: Claude Sonnet 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01HhW8LD8r3EigoBaCGrQZx5
17 lines
555 B
YAML
17 lines
555 B
YAML
spring:
|
|
application:
|
|
name: gateway
|
|
config:
|
|
# Fail fast if the config server is not up: a service with the wrong config is worse than no service.
|
|
import: "configserver:${CONFIG_URL:http://localhost:8888}"
|
|
server:
|
|
port: 8080
|
|
eureka:
|
|
client:
|
|
service-url:
|
|
defaultZone: ${EUREKA_URL:http://localhost:8761/eureka}
|
|
instance:
|
|
hostname: ${EUREKA_HOSTNAME:localhost}
|
|
# Register the service name + port as the instance id so two copies of one service do not collide.
|
|
instance-id: ${spring.application.name}:${server.port}
|