Luxun - A high-throughput, persistent, distributed, publish-subscribe messaging system based on memo
A high-throughput, persistent, distributed, publish-subscribe messaging system based on memory mapped file and Thrift RPC.
Its design objectives are:
Its design objectives are:
- Fast: close to the speed of direct memory access, both produding and consuming are close to O(1) memory access.
- Persistent : all data in the system is persisted on disk and is crash resistant.
- High-throughput: even with modest hardware Luxun can support handreds of thousands of messages per second.
- Realtime : messages produced by producer threads should be immediately visible to consumer threads.
- Distributed : explicit support for partitioning messages over Luxun servers and distributing consumption over a cluster of consumer machines while maintaining per-partition ordering semantics.
- Multiple clients support : use Thrift RPC as communication infrastructure, easy to generate different clients for different platforms.
- Flexible consuming semantics : supports typical consume once queue, fan out queue, even supports consume by index when needed.
http://bulldog2011.github.io/luxun/
https://github.com/bulldog2011/luxun
License:
Tech:
Tags: