| Service | Port | Status | Database | Purpose |
|---|---|---|---|---|
| Eureka Server | 8761 | ✅ Active | - | Service registry and discovery |
| API Gateway | 8080 | ✅ Active | Redis (optional) | Entry point, routing, security |
| User Service | 8081 | ✅ Active | H2 (local) / PostgreSQL (docker) | User management, authentication |
| Order Service | 8082 | ✅ Active | H2 | Order processing, inventory |
| Notification Service | 8083 | ✅ Active | MongoDB | Email, SMS, push notifications |
| Admin Dashboard | 8090 | ✅ Active | - | Service monitoring and management |
| Service | Port | Status | Implementation | Purpose |
|---|---|---|---|---|
| Zipkin Server | 9411 | ✅ Active | Docker Image (openzipkin/zipkin) | Distributed tracing |
Note: The zipkin-server module exists as a Spring Boot application that registers with Eureka, but the actual Zipkin UI and tracing functionality is provided by the external Docker image.
| Service | Port | Status | Purpose |
|---|---|---|---|
| PostgreSQL | 5432 | ✅ Docker | Primary database (Docker only) |
| MongoDB | 27017 | ✅ Docker | Document storage |
| RabbitMQ | 5672/15672 | ✅ Docker | Message broker |
| Redis | 6379 | ✅ Docker | Caching layer (optional) |
| Zipkin | 9411 | ✅ Docker | Distributed tracing |
| Prometheus | 9090 | ✅ Docker | Metrics collection |
| Grafana | 3000 | ✅ Docker | Monitoring dashboards |
# Core Services
curl http://localhost:8761/actuator/health # Eureka Server
curl http://localhost:8080/actuator/health # API Gateway
curl http://localhost:8081/actuator/health # User Service
curl http://localhost:8082/actuator/health # Order Service
curl http://localhost:8083/actuator/health # Notification Service
curl http://localhost:8090/actuator/health # Admin Dashboard# Check registered services
curl http://localhost:8761/eureka/apps# Database connections
docker exec microservices-postgres pg_isready
docker exec microservices-mongodb mongosh --eval "db.adminCommand('ping')"
docker exec microservices-redis redis-cli ping
docker exec microservices-rabbitmq rabbitmq-diagnostics ping- Infrastructure Services (PostgreSQL, MongoDB, RabbitMQ, Redis)
- Eureka Server (Service Discovery)
- Business Services (User, Order, Notification)
- API Gateway (Entry Point)
- Admin Dashboard (Monitoring)
API Gateway → User Service
API Gateway → Order Service
API Gateway → Notification Service
Order Service → User Service (via Feign)
Order Service → Notification Service (via RabbitMQ)
All Services → Eureka Server (registration)
All Services → Admin Dashboard (monitoring)
- ✅ User Service: H2 (local) / PostgreSQL (docker profile)
- ✅ Order Service: H2 (in-memory)
- ✅ Notification Service: MongoDB
- ✅ All services register with Eureka Server
- ✅ Service-to-service communication via Eureka
- ✅ Load balancing configured
- ✅ RabbitMQ for async communication
- ✅ Event-driven architecture implemented
- ✅ Spring Boot Admin for service monitoring
- ✅ Zipkin for distributed tracing (Docker)
- ✅ Prometheus for metrics
- ✅ Grafana for dashboards
# Start all services
.\start-docker.bat
# Or manually
docker-compose up --build# Start infrastructure only
docker-compose up -d postgres mongodb rabbitmq redis zipkin prometheus grafana
# Start services locally
.\start-services.bat- Eureka Dashboard: http://localhost:8761
- Admin Dashboard: http://localhost:8090
- RabbitMQ Management: http://localhost:15672 (admin/admin123)
- Grafana: http://localhost:3000 (admin/admin123)
- Prometheus: http://localhost:9090
- Zipkin: http://localhost:9411
- API Gateway: http://localhost:8080
- User Service: http://localhost:8081/api/users
- Order Service: http://localhost:8082/api/orders
- Notification Service: http://localhost:8083/api/notifications
All critical issues have been resolved:
- Service discovery working
- Database connections configured
- Message queuing operational
- Monitoring and tracing active
- Security configurations updated
- Documentation synchronized
The microservices architecture is now fully functional and ready for development and testing.