QMQ是去哪儿网内部广泛使用的消息中间件,自2012年诞生以来在去哪儿网所有业务场景中广泛的应用,包括跟交易息息相关的订单场景; 也包括报价搜索等高吞吐量场景。目前在公司内部日常消息qps在60W左右,生产上承载将近4W+消息topic,消息的端到端延迟可以控制在10ms以内。
主要提供以下特性:
- 异步实时消息
- 延迟/定时消息(支持任意秒级)
- 广播消息(每个Consumer都收到相同消息,比如本地cache更新)
- 基于Tag的服务端过滤
- Consumer端幂等处理支持
- Consumer端filter
- 消费端支持按条ack消息
- 死信消息
- 结合Spring annotation使用的简单API
- 提供丰富的监控指标
- 接入OpenTracing
- 事务消息
- Consumer的处理能力也可以方便扩容缩容
- Server可以随心所欲扩容缩容
- Java Client, .NET Client
- 消息投递轨迹(即将开源)
- 历史消息的自动备份(即将开源)
- 有序消息(即将开源)
- Client: 1.7及其以上版本
- Server: 1.8及其以上版本
qmq的客户端已经发布到maven中央仓库,可以通过下面的方式获取
<dependency>
<groupId>com.qunar.qmq</groupId>
<artifactId>qmq</artifactId>
<version>1.1.3</version>
</dependency>
你可以通过设计背景了解设计QMQ的初衷和它与其他消息队列的不同。 阅读架构概览了解QMQ的存储模型
- 快速入门
- 安装
- 设计背景
- 架构概览
- 代码模块介绍
- 高可用
- 监控
- Trace
- 发送消息
- 在Junit Test中如何发送消息
- 事务消息
- 消费消息
- 幂等Exactly once消费
- .NET客户端
- 延时/定时消息
- 服务端tag过滤
- 在IDE里运行代码
- 运维
- 支持其他DB
- 开源协议
- 技术支持
- 分享
- FAQ
欢迎在这里,以方便我们提供更好的技术支持