Skip to main content

RabbitMQ Messaging Application

Overview

The RabbitMQ Messaging Application is a scalable and fault-tolerant messaging system that demonstrates asynchronous communication between distributed components using a message broker architecture.

This project implements producer-consumer messaging patterns using RabbitMQ, enabling reliable, decoupled, and high-performance data exchange between services.


Key Features

  • Asynchronous message publishing (Producer)
  • Reliable message consumption (Consumer)
  • Queue-based messaging using RabbitMQ (AMQP protocol)
  • Guaranteed message delivery with acknowledgments
  • Scalable architecture for distributed systems
  • Robust error handling and logging mechanisms
  • Easily extensible for microservices integration

Technology Stack

  • Message Broker: RabbitMQ
  • Protocol: AMQP 0-9-1
  • Programming Language: Java / Python / Node.js / .NET (as applicable)
  • Frameworks: (Spring Boot / Express / Flask / .NET Core) (if applicable)
  • Build Tools: Maven / npm / pip
  • Logging: Built-in logging framework / Log4j / Winston / etc.

Prerequisites

Before running this project, ensure the following are installed:

  • RabbitMQ Server
  • Erlang (dependency for RabbitMQ)
  • Language runtime (JDK / Python / Node.js / .NET SDK)
  • Package manager (Maven / npm / pip)

Installation & Setup

1. Clone the Repository

git clone:https://github.com/vigneshAnnadurai01/rabbitmq-lite.git
cd rabbitmq-lite

# 📩 RabbitMQ Multi-Agent Messaging System

A Python-based message-driven system using RabbitMQ where a single publisher sends messages to multiple queues and different agents process them concurrently.

## 🛠 Installation & Setup
1️⃣ Prerequisites
Install Python

Make sure Python 3.10+ is installed

python --version
Install RabbitMQ
Windows Setup
Install Erlang
https://www.erlang.org/downloads
Install RabbitMQ Server
https://www.rabbitmq.com/download.html
Enable management plugin:
rabbitmq-plugins enable rabbitmq_management
Start RabbitMQ:
rabbitmq-server

👉 Dashboard:

http://localhost:15672
Username: guest
Password: guest
Ubuntu/Linux
sudo apt update
sudo apt install rabbitmq-server -y
sudo systemctl start rabbitmq-server
sudo systemctl enable rabbitmq-server
2️⃣ Project Setup
Clone / Navigate project
cd F:\rabbit\src\rabbitmq_lite
Create Virtual Environment
python -m venv venv
venv\Scripts\activate   # Windows
Install dependencies
pip install pika
## 📌 Project Architecture
main.py (Publisher)
        ↓
RabbitMQ Queues
        ↓
aggregator.py (Consumer Manager)
        ↓
Agents:
   ├── AccountAgent
   ├── BillingAgent
   ├── DocumentAgent
   └── SupportAgent
##  How to Run (IMPORTANT)
 STEP 1: Start RabbitMQ Server
rabbitmq-server
 STEP 2: Start Consumers

Open new terminal:

python aggregator.py

👉 You should see:

📌 Listening on account_queue
📌 Listening on billing_queue
📌 Listening on document_queue
📌 Listening on support_queue
 STEP 3: Send Messages (Publisher)

Open another terminal:

python main.py
## 📤 Message Flow
main.py sends payload
        ↓
4 queues receive message
        ↓
Each Agent processes independently
## 🧾 Sample Payload
{
    "user_id": 1000,
    "name": "Vignesh",
    "amount": 500,
    "doc_id": "DOC001",
    "ticket_id": "TKT001"
}
##  Agents Responsibilities
AccountAgent → User/account processing
BillingAgent → Payment & billing logic
DocumentAgent → Document handling
SupportAgent → Ticket management
## 📌 Expected Output
aggregator.py
📌 Listening on account_queue
📌 Listening on billing_queue
📌 Listening on document_queue
📌 Listening on support_queue
main.py
Message sent to all queues
## ⚠️ Common Issues
❌ RabbitMQ not connecting

✔ Ensure server is running:

rabbitmq-server
❌ No message received

✔ aggregator.py must be running before main.py

❌ Queue not found

✔ Run publisher once → queues auto-create

## 🔥 Run Order (VERY IMPORTANT)
1. Start RabbitMQ Server
2. Run aggregator.py
3. Run main.py

Release files for rabbitmq-lite 0.1.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for rabbitmq-lite 0.1.4
File Size Uploaded
rabbitmq_lite-0.1.4.tar.gz 12.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for rabbitmq-lite 0.1.4
File Interpreter ABI Platform
rabbitmq_lite-0.1.4-py3-none-any.whl Python 3 none any Details

Total release size: 26.9 kB

Release files / rabbitmq_lite-0.1.4.tar.gz

Download URL rabbitmq_lite-0.1.4.tar.gz
Size 12.4 kB
Tags Source
SHA-256 checksum
How to use checksums
e2a14a97876ffd8bc0c5ac24fb0579aba4c7e728a72faa2b8cd43fb6f5e25db2
BLAKE2b-256 checksum
How to use checksums
c19186e91f9f656955f0d8ff8d60b51dd91f9336c47f6db7e1e45e1219c64479
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 19, 2026.

Transparency log

Release files / rabbitmq_lite-0.1.4-py3-none-any.whl

Download URL rabbitmq_lite-0.1.4-py3-none-any.whl
Size 14.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b32afbabf956cab9c2fe5777ca2f37b511578af76443336442e8b749a8da16b4
BLAKE2b-256 checksum
How to use checksums
75b7ad5f72dd7f5799f0ee0c3ee002bad5c63ffbcf114f543479535ea395dcd2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 19, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.4 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page