Skip to content

deepak-kumar20/distributed-job-queue-system

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

3 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ Distributed Job Queue System

A scalable multi-queue job distribution system built with Node.js, Express, PostgreSQL, Redis, and Docker. Designed for parallel worker processing, real-time queue management, and fault-tolerant task execution.

πŸ“Œ Features

βœ… Multi-Queue Architecture (High / Medium / Low Priority)

βœ… Redis-Based Queue Management

βœ… Distributed Worker Processing

βœ… Heartbeat-Based Worker Health Monitoring

βœ… Automatic Job Reassignment on Worker Failure

βœ… Retry Mechanism for Failed Jobs

βœ… PostgreSQL Persistent Storage

βœ… Fully Dockerized Microservice Setup

βœ… Horizontal Worker Scaling

πŸ—οΈ System Architecture Client β†’ API Server β†’ Redis (Queue Layer) ↓ Worker Containers ↓ PostgreSQL (Persistent Store)

API server pushes jobs into Redis queues

Workers consume jobs from Redis

PostgreSQL stores job metadata & status

Health-check system monitors worker availability

πŸ› οΈ Tech Stack

Backend: Node.js, Express.js

Queue System: Redis

Database: PostgreSQL

Containerization: Docker, Docker Compose

Architecture: Distributed Multi-Queue Worker System

🐳 Running with Docker docker-compose up --build

Services:

API Server

Redis

PostgreSQL

Worker Instances

πŸ“Š Job Lifecycle Pending β†’ Queued β†’ Processing β†’ Completed β†˜ Failed β†’ Retry πŸ”₯ Future Improvements

Dead Letter Queue (DLQ)

Rate Limiting

Auto Worker Scaling

Monitoring Dashboard (Prometheus + Grafana)

Kubernetes Deployment

About

Scalable multi-queue job distribution system built with Node.js, PostgreSQL, and Docker, featuring worker health checks and fault-tolerant processing.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors