A comprehensive demonstration of Spring Cloud capabilities through a microservices architecture.
This project showcases key microservices patterns and Spring Cloud features including: Centralized Configuration (Config Server) Service Discovery (Eureka) API Gateway Inter-service Communication Containerization with Docker Architecture
# Generate Maven wrapper:
mvn -N io.takari:maven:wrapper
# Build all services:
./mvnw clean package -DskipTests
# Running the Application
Using Docker Compose:
docker-compose up -d
# serve with hot reload at localhost:8080
npm start
# build for production with minification
npm run build
# build for production and view the bundle analyzer report
npm run build --report
The project consists of the following components:
Config Server (Port 8888)
Service Registry (Port 8761)
API Gateway (Port 8080)
Service A (Port 8081)
Service B (Port 8082)
Java 17
Maven
Docker
Docker Compose
spring-cloud-microservices/
├── config-server/
├── service-registry/
├── api-gateway/
├── service-a/
├── service-b/
├── docker-compose.yml
└── pom.xml
Eureka Dashboard: http://localhost:8761
Service A (via Gateway): http://localhost:8080/service-a/data
Service B (via Gateway): http://localhost:8080/service-b/info
http://localhost:8080/service-a/health
http://localhost:8080/service-b/health
Service Registration and Discovery
Centralized Configuration
Load Balancing
API Gateway Routing
Inter-service Communication
Containerized Deployment
Health Monitoring
Docker Commands
View logs: docker-compose logs -f
Stop services: docker-compose down
Rebuild services: docker-compose up -d --build
Spring Boot 3.2.0
Spring Cloud 2023.0.0
Docker
Maven
Feel free to submit issues and enhancement requests.