This document describes the microservices architecture for the EventStreamMonitor system.
- Purpose: Manages user accounts, registration, and user data
- Port: 5001 (9091 internal)
- Database:
REGISTRATIONS(PostgreSQL) - Endpoints:
POST /api/v1/eventstreammonitor/users/register- Register new user
- gRPC: User validation for token generation
- Kafka: Publishes user registration events
- Purpose: Handles authentication, JWT token generation and validation
- Port: TBD
- Database: Separate PostgreSQL database
- Endpoints:
POST /api/v1/eventstreammonitor/auth/login- User login (check service code for current routes)POST /api/v1/eventstreammonitor/auth/generateToken- Generate JWT token (check service code for current routes)
- gRPC: Token validation service
- Purpose: Handles task management and processing operations
- Port: 5002 (9092 internal)
- Database:
TASK_PROCESSING(PostgreSQL) - Endpoints:
POST /api/v1/eventstreammonitor/tasks- Create taskGET /api/v1/eventstreammonitor/tasks- List tasksGET /api/v1/eventstreammonitor/tasks/<id>- Get task detailsPUT /api/v1/eventstreammonitor/tasks/<id>/cancel- Cancel task
- Kafka: Publishes task processing events
- Purpose: Handles all notifications via email, SMS, push notifications
- Port: 5003 (9093 internal)
- Database:
NOTIFICATIONS(PostgreSQL) - for notification logs - Kafka Consumer: Consumes events from other services
- Topics:
user-registration-events- User registration notifications- Task processing events
- Various service events
- REST API: For external clients and service-to-service calls
- gRPC: For internal service-to-service communication (high performance)
- Kafka: Event-driven communication between services
- User Management → Notification Service (user registered)
- Task Processing → Notification Service (task events)
REGISTRATIONS- User Management ServiceAUTH_TOKENS- Token Management ServiceTASK_PROCESSING- Task Processing ServiceNOTIFICATIONS- Notification Service (logs)
- Kafka: Single Kafka cluster for all event streaming
- Topics: Various event topics for service communication
registration-db- PostgreSQL for User Managementauth-db- PostgreSQL for Token Managementtaskprocessing-db- PostgreSQL for Task Processingnotification-db- PostgreSQL for Notification logskafka- Kafka brokerzookeeper- Kafka dependencyusermanagement-service- User Management microserviceauth-service- Token Management microservicetaskprocessing-service- Task Processing microservicenotification-service- Notification microservice