Skip to content

zth1337/KiteMQ

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🪁 KiteMQ (KMQ)

Java Support Dependencies License

KiteMQ is an ultra-lightweight, blazing-fast, and zero-dependency message broker written in modern Java. It speaks the Apache Kafka® protocol, allowing you to use standard Kafka clients, but does so with a fraction of the resource footprint.

Built from the ground up utilizing the latest Java 21 features: Virtual Threads (Project Loom) for massive concurrency and the Foreign Function & Memory API (Project Panama) for native OS-level zero-copy I/O.

✨ Why KiteMQ?

Traditional message brokers are often heavy, require complex JVM tuning, external consensus systems (like ZooKeeper), or massive memory allocations just to boot. KiteMQ is designed to be different:

  • Kafka-Compatible: Works out-of-the-box with standard Kafka clients (Produce, Fetch, Consumer Groups, Offsets).
  • Zero-Copy Performance: Uses native sendfile and mmap via Java's FFM API. Data goes directly from the OS page cache to the network socket, bypassing the JVM heap completely.
  • Virtually Threaded: Handles tens of thousands of concurrent connections effortlessly using Java 21 Virtual Threads.
  • Zero Dependencies: The core broker has exactly 0 external runtime dependencies.
  • Instant Startup: Boots in milliseconds. Perfect for embedded usage, edge computing, or integration testing.

📊 How does it compare?

Here is a truthful comparison of KiteMQ against industry giants. We don't claim to replace a 100-node Kafka cluster, but for lightweight, high-throughput, single-node deployments, KiteMQ shines.

Feature 🪁 KiteMQ 🧡 Apache Kafka® 🔴 Redpanda
Language Modern Java 21 Java / Scala C++
Startup Time ~50ms Seconds to Minutes Seconds
Memory Footprint < 100 MB 1 GB+ Moderate
Runtime Dependencies None ZooKeeper / KRaft None
I/O Strategy sendfile / mmap (Zero-copy) sendfile (Zero-copy) Direct I/O (Seastar)
Connection Scaling Virtual Threads OS Threads Thread-per-core
Best For Embedded, Edge, Fast CI/CD, Lightweight Microservices Massive distributed enterprise clusters High-end distributed clusters