TinyMQ
Role: Backend Developer
A tiny, ultra-lightweight message broker for side projects, prototypes, and internal tools. Built from scratch in Go with zero external heavy dependencies.
Technologies
The Problem
Industry-leading messaging solutions (like Kafka or RabbitMQ) are engineering marvels, but they are often massive overkill for small to medium projects. Setting up Erlang runtimes, managing JVMs, or configuring heavy clusters just to pass a few JSON messages between three microservices consumes too much time and server resources, making it unfeasible for rapid prototypes or low-budget infrastructures.
The Solution
TinyMQ solves this problem by offering a true plug & play alternative without the complexities of a massive enterprise cluster. Built from scratch in Go, it provides a single Dockerized binary under 15MB that runs with an extremely low RAM and CPU footprint.
Despite being lightweight, TinyMQ packs enterprise-grade capabilities:
- Smart Persistence & Clustering: Write-Ahead Log (.log) architecture with an automatic Garbage Collector, and native zero-dependency P2P clustering with automatic leader election.
- Multi-Protocol Support: Full-duplex TCP connections via WebSockets, a native MQTT (v3.1.1) gateway for IoT, and a built-in NATS TCP server.
- Advanced Features: Consumer Groups (Pub/Sub), Dead Letter Queues (DLQ), time-based routing (delays), network idempotency, and native Prometheus observability.
It is the perfect tool for developers who need reliable asynchronous communication without the operational tax.
To dive deep into the inner workings, performance metrics, and broker configurations, visit the Official TinyMQ Documentation.