[发明专利]一种基于消息队列系统的消息处理方法和装置有效
申请号: | 201710366692.5 | 申请日: | 2017-05-23 |
公开(公告)号: | CN107197015B | 公开(公告)日: | 2020-09-08 |
发明(设计)人: | 郑光杰 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;H04L12/803 |
代理公司: | 北京博思佳知识产权代理有限公司 11415 | 代理人: | 陈蕾;靳玫 |
地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 消息 队列 系统 处理 方法 装置 | ||
1.一种基于消息队列系统的消息处理方法,所述消息队列系统包括消息队列服务端和消息队列客户端,所述消息队列服务端包括属于同一消息主题的多个队列分组(partition);所述方法包括:
一个队列分组接收作为生产者的消息队列客户端发送的消息;
所述队列分组判断当前的队列长度是否达到阈值,若达到阈值,则向所述作为生产者的消息队列客户端返回队列满指令,并且返回推荐切换的目标队列分组;
所述作为生产者的消息队列客户端根据所述队列满指令,将生产的消息转发至所述目标队列分组,以从源头上减少消息的进入;
所述队列分组接收作为消费者的消息队列客户端拉取消息的请求,所述作为消费者的消息队列客户端用于订阅所述消息主题并处理所述消息主题下的队列分组中发布的消息;
所述队列分组判断当前的队列长度是否达到阈值,若达到阈值,则向所述消费者的消息队列客户端返回队列满指令,并且返回推荐切换的目标队列分组;
所述作为消费者的消息队列客户端根据所述队列满指令,将由所述队列分组拉取的消息转发至所述目标队列分组,以由所述目标队列分组对应的消费者的消息队列客户端进行处理,从出口加快消息的离开;
所述返回推荐切换的目标队列分组,包括:
所述队列分组向所述消息队列服务端的队列管理器请求推荐切换的目标对列分组;
所述队列管理器根据位于同一消息主题下的各个队列分组的队列负载状态,选择当前负载低于负载最大阈值的队列分组作为所述目标队列分组。
2.根据权利要求1所述的方法,所述方法还包括:若当前的所述队列分组的队列长度未达到阈值,则所述队列分组接受并存储所述作为生产者的消息队列客户端发送的消息;或者,若当前的所述队列分组的队列长度未达到阈值,则由所述队列分组对应的消费者的消息队列客户端处理拉取到的消息。
3.一种消息队列系统,所述系统包括:消息队列服务端和消息队列客户端,所述消息队列服务端包括属于同一消息主题的多个队列分组(partition),所述消息队列客户端包括作为生产者的消息队列客户端和作为消费者的消息队列客户端;
所述消息队列服务端的其中一个队列分组,用于在接收到所述作为生产者的消息队列客户端发送的消息时,或者在接收到作为消费者的消息队列客户端拉取消息的请求时,判断当前的队列长度是否达到阈值,若达到阈值,则向所述消息队列客户端返回队列满指令,并且返回推荐切换的目标队列分组;
所述作为生产者的消息队列客户端,用于根据所述队列满指令,将向所述队列分组发送的消息转发至所述目标队列分组,以从源头上减少消息的进入;
所述作为消费者的消息队列客户端,用于根据所述队列满指令,将由所述队列分组拉取的消息转发至所述目标队列分组,以从出口加快消息的离开;
所述消息队列服务端的所述队列分组,具体用于向所述消息队列服务端的队列管理器请求推荐切换的目标队列分组;所述队列管理器,用于根据位于同一消息主题下的各个队列分组的队列负载状态,选择当前负载低于负载最大阈值的队列分组作为所述目标队列分组。
4.根据权利要求3所述的系统,所述队列分组,还用于若当前的所述队列分组的队列长度未达到阈值,则接受并存储所述作为生产者的消息队列客户端发送的消息,或者,将消息发送至对应的作为消费者的消息队列客户端处理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710366692.5/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种逆作法模板施工工艺
- 下一篇:一种竖向自由抗剪支座