// the find
qunarcorp/qmq
QMQ是去哪儿网内部广泛使用的消息中间件,自2012年诞生以来在去哪儿网所有业务场景中广泛的应用,包括跟交易息息相关的订单场景; 也包括报价搜索等高吞吐量场景。
QMQ is a message queue built by Qunar (a Chinese travel company) for internal use since 2012, now open-sourced. It handles 600K QPS in production with 40K+ topics and sub-10ms end-to-end latency. The target audience is Java shops that want something between RabbitMQ and Kafka in operational complexity, with first-class support for transactional and delayed messages.
1. Arbitrary-precision delayed/scheduled messages down to the second — this is a genuinely hard problem that Kafka and RabbitMQ both handle poorly, and QMQ has been battle-tested on it at scale. 2. Transactional message support with a local message store for outbox pattern is built in, not bolted on — the XA tag in the topics list is real. 3. Read/write separation at the broker level with per-message ACK means consumers can pause and resume without losing their position, which is more flexible than Kafka's offset model for low-throughput transactional workloads. 4. Message delivery tracing is a first-class feature, not an afterthought — useful when debugging why an order event disappeared.
1. Dead since December 2023 — no commits, no releases, no activity. The community QQ groups listed in the README are the only support channel, which is a red flag for anything beyond a hobby project. 2. HBase dependency for the backup/history store is a heavy operational requirement that most teams will not want to run; there is no lightweight alternative provided. 3. Documentation is entirely in Chinese with no English translation, which hard-limits adoption outside Chinese-speaking teams. 4. The C# client is a hand-rolled TCP stack with its own event loop and codec — it works but you are inheriting a lot of custom networking code with no active maintainer.