去哪儿网克日公布开源其外部普遍运用的音讯中间件 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
更多细节可查阅项目文档。
2KB项目(www.2kb.com,源码交易平台),提供担保交易、源码交易、虚拟商品、在家创业、在线创业、任务交易、网站设计、软件设计、网络兼职、站长交易、域名交易、链接买卖、网站交易、广告买卖、站长培训、建站美工等服务