YADTQ - Yet Another Distributed Task Queue

YADTQ is a distributed task queue system designed to manage and execute tasks across multiple worker nodes efficiently. Built using Kafka and Redis, it ensures scalability, fault tolerance, and high throughput for background task processing in distributed environments.

Project Context

This project was part of my Big Data course at PES University, aimed at understanding how distributed task queues are designed and implemented in real-world systems. The project uses Kafka for handling messaging between systems and Redis for managing task coordination. YADTQ shows how tasks can be distributed across multiple producers and consumers, enabling efficient processing in a scalable, distributed architecture.

Features

  • Distributed Task Management
    Efficiently dispatch and process tasks across multiple workers with support for parallel execution.

  • Reliable Messaging System
    Integration with Apache Kafka ensures fault-tolerant, high-performance message delivery.

  • Task Coordination with Redis
    Redis is used for fast task lookup, state management, and system coordination.

  • Scalable Architecture
    Easily scale by adding more workers without affecting overall system performance.

Tech Stack

  • Languages: Python
  • Message Broker: Apache Kafka
  • Task State Management: Redis
  • Orchestration: CLI-based interaction, Kafka topics per task type

Repository

Explore the full project here: YADTQ GitHub Repository


Feel free to fork the repo, raise issues, or contribute new features. Whether you’re experimenting with distributed systems or working on a task queue, I hope YADTQ can be useful for your project!