Skip to content

Latest commit

 

History

History
152 lines (121 loc) · 4.9 KB

File metadata and controls

152 lines (121 loc) · 4.9 KB

Service Status & Health Check Guide

Current Architecture Status

✅ Active Services

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

🐳 Zipkin Server

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.

🔧 Infrastructure Services

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

Health Check URLs

Service Health Endpoints

# 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

Service Discovery

# Check registered services
curl http://localhost:8761/eureka/apps

Infrastructure Health

# 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

Service Dependencies

Startup Order

  1. Infrastructure Services (PostgreSQL, MongoDB, RabbitMQ, Redis)
  2. Eureka Server (Service Discovery)
  3. Business Services (User, Order, Notification)
  4. API Gateway (Entry Point)
  5. Admin Dashboard (Monitoring)

Service Communication

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)

Configuration Summary

Database Configuration

  • ✅ User Service: H2 (local) / PostgreSQL (docker profile)
  • ✅ Order Service: H2 (in-memory)
  • ✅ Notification Service: MongoDB

Service Discovery

  • ✅ All services register with Eureka Server
  • ✅ Service-to-service communication via Eureka
  • ✅ Load balancing configured

Messaging

  • ✅ RabbitMQ for async communication
  • ✅ Event-driven architecture implemented

Monitoring

  • ✅ Spring Boot Admin for service monitoring
  • ✅ Zipkin for distributed tracing (Docker)
  • ✅ Prometheus for metrics
  • ✅ Grafana for dashboards

Quick Start Commands

Docker Environment (Recommended)

# Start all services
.\start-docker.bat

# Or manually
docker-compose up --build

Local Development

# Start infrastructure only
docker-compose up -d postgres mongodb rabbitmq redis zipkin prometheus grafana

# Start services locally
.\start-services.bat

Monitoring & Management

Web Interfaces

API Endpoints

Current Status: ✅ READY FOR PRODUCTION

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.