- Java 19 + Maven and/or
- Docker Desktop 4.12.0
- Configure project root directory on Docker Desktop (Settings > Resources > Advanced > File Sharing)
All commands are available to be executed on host machine (--local
) or inside Docker containers (--docker
).
./compile.sh [--local|--docker]
: compile the source code and generate JAR files./start.sh [--local|--docker]
: starts all services./stop.sh [--local|--docker]
: stops all services./test.sh [--local|--docker]
: calls all services endpoints
- Postman file: education.postman_collection.json
- IntelliJ: orcid-service.http, org-service.http, edu-service.http
- Script:
./test.sh [--local|--docker]
- Eureka Summary (discovery-server)
- Eureka service instance information (orcid-service)
- H2 in-memory database (org-service - only locally)
- Resilience4J
- Resilience4J + Spring Cloud - Circuit Breaker - tutorial
- Resilience4J + Spring Cloud - Circuit Breaker - docs
- Resilience4J + Spring Cloud - retry
- Resilience4J + Spring Cloud - Rate Limiter
- Eureka tutorial (discovery-server) - baeldung
- Docker bug with port range
- that's why we use floating ports (see docker-compose.yml at line 51)