-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Labels
devopsCovers automation, deployment, and operational management of cloud services and infrastructure.Covers automation, deployment, and operational management of cloud services and infrastructure.infrastructureCovers tasks related to setting up, maintaining, or improving foundational systems like servers, etcCovers tasks related to setting up, maintaining, or improving foundational systems like servers, etc
Description
System Overview
- Client requests a long-running job via an API.
- The request is pushed to a queue (e.g., RabbitMQ, SQS, Kafka).
- A Worker Manager Service picks jobs from the queue.
- The Worker Manager scales workers dynamically based on queue length.
- Workers process jobs asynchronously.
- Once done, the worker sends a notification (Webhook, WebSocket, Slack, Email).
- The client can poll the status or get the final response.
** Key Components**
1️⃣ Client API (Request Submission)
- A REST API or GraphQL endpoint for clients.
- Pushes job details to a queue (e.g., AWS SQS, Redis Queue, Kafka).
- Returns a job ID for tracking.
2️⃣ Message Queue
- Purpose: Decouples job requests from execution.
- Options:
- AWS SQS (Managed)
- RabbitMQ (Self-hosted)
- Apache Kafka (Streaming & event-driven)
- Redis (Simple in-memory queue)
3️⃣ Worker Manager Service
-
Listens to the queue and dynamically scales workers.
-
Scaling logic:
- More jobs in the queue → Spawn more workers.
- Few jobs → Scale down workers to save costs.
-
Deployment options:
- Nomad (Alternative to Kubernetes)
4️⃣ Worker Nodes
-
Execute tasks asynchronously.
-
Process the job based on workload type (CPU-bound, I/O-bound).
-
Returns results to a database, object storage, or the client directly.
5️⃣ Notifications System
- When a job completes, notify the client via:
-
WebSockets (Realtime UI updates)
-
Webhooks (Client provides a callback URL)
-
Email/SMS/Slack (For user notifications)
-
6️⃣ Status Tracking & Response
-
A database stores job progress (Redis, PostgreSQL, DynamoDB).
-
Clients can poll for job status via API.
Metadata
Metadata
Assignees
Labels
devopsCovers automation, deployment, and operational management of cloud services and infrastructure.Covers automation, deployment, and operational management of cloud services and infrastructure.infrastructureCovers tasks related to setting up, maintaining, or improving foundational systems like servers, etcCovers tasks related to setting up, maintaining, or improving foundational systems like servers, etc
Type
Projects
Status
No status