内容简介:去哪儿网近日宣布开源其内部广泛使用的消息中间件 QMQ 。QMQ 自2012年诞生以来在去哪儿网所有业务场景中广泛的应用,包括跟交易息息相关的订单场景; 也包括报价搜索等高吞吐量场景。目前在公司内部日常消息 qps ...
去哪儿网近日宣布开源其内部广泛使用的消息中间件 QMQ 。QMQ 自2012年诞生以来在去哪儿网所有业务场景中广泛的应用,包括跟交易息息相关的订单场景; 也包括报价搜索等高吞吐量场景。目前在公司内部日常消息 qps 在 60W 左右,生产上承载将近 4W+ 消息 topic ,消息的端到端延迟可以控制在 10ms 以内。
QMQ 主要提供以下特性:
异步实时消息
延迟/定时消息
基于 Tag 的服务端过滤
Consumer 端幂等处理支持
Consumer 端 filter
死信消息
结合 Spring annotation 使用的简单 API
提供丰富的监控指标
接入 OpenTracing
分布式事务(即将开源)
消息投递轨迹(即将开源)
历史消息的自动备份(即将开源)
架构概览
下图是 QMQ 中各组件及其交互图:
meta server 提供集群管理和集群发现的作用
server 提供实时消息服务
delay server 提供延时/定时消息服务,延时消息先在 delay server 排队,时间到之后再发送给 server
producer 消息生产者
consumer 消息消费者

根据图中的编号描述一下其交互过程
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
更多细节可查阅项目文档。
【声明】文章转载自:开源中国社区 [http://www.oschina.net]
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 小米开源数据库中间件gaea
- 码云周刊 | 7款优秀的国产开源中间件!
- MySQL开源数据传输中间件架构设计实践
- 滴滴开源分布式消息中间件产品 DDMQ
- 开源分布式中间件 DBLE 快速入门指南
- 去哪儿网正式开源内部使用的消息中间件 QMQ
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
学习JavaScript数据结构与算法
[巴西] 格罗纳(Loiane Groner) / 孙晓博、邓钢、吴双、陈迪、袁源 / 人民邮电出版社 / 2015-10-1 / 39.00
本书首先介绍了JavaScript语言的基础知识,接下来讨论了数组、栈、队列、链表、集合、字典、散列表、树、图等数据结构,之后探讨了各种排序和搜索算法,包括冒泡排序、选择排序、插入排序、归并排序、快速排序、顺序搜索、二分搜索,还介绍了动态规划和贪心算法等常用的高级算法及相关知识。一起来看看 《学习JavaScript数据结构与算法》 这本书的介绍吧!