A scalable message queue powered by a segmented, partitioned, replicated and immutable log.
This is currently a work in progress.
laminarmq
is intended to be a re-implementation of the original Kafka paper with some enhancements.
The following main features are intended:
- True async APIs based on io_uring using glommio.
- Segmented Log for storing messages in a partition.
- SWIM gossip protocol based service discovery.
- Raft consensus powered replication of partitions in a topic.
Architecture
We discuss the architecture of laminarmq
in docs/architecture.md.
License
Dual licensed under MIT License and Apache 2.0 License to be compatible with the Rust project.