去哪儿网近日宣布开源其内部广泛使用的消息中间件 QMQ 。QMQ
自2012年诞生以来在去哪儿网所有业务场景中广泛的应用,包括跟交易息息相关的订单场景; 也包括报价搜索等高吞吐量场景。目前在公司内部日常消息
qps 在 60W 左右,生产上承载将近 4W+ 消息 topic ,消息的端到端延迟可以控制在 10ms 以内。 QMQ 主要提供以下特性: 架构概览 下图是 QMQ 中各组件及其交互图: 
根据图中的编号描述一下其交互过程 delay server 向 meta server注册 实时 server 向 meta server注册 producer 在发送消息前需要询问 meta server 获取 server list meta server 返回 server list 给 producer (根据 producer 请求的消息类型返回不同的 server list ) producer 发送延时/定时消息 延时时间已到,delay server 将消息投递给实时 server producer 发送实时消息 consumer 需要拉取消息,在拉取之前向 meta server 获取 server list (只会获取实时 server 的 list ) meta server 返回 server list 给 consumer consumer 向实时 server 发起 pull 请求 实时 server 将消息返回给 consumer
更多细节可查阅项目文档。 |