[发明专利]一种基于消息队列系统的消息处理方法和装置有效
申请号: | 201710366692.5 | 申请日: | 2017-05-23 |
公开(公告)号: | CN107197015B | 公开(公告)日: | 2020-09-08 |
发明(设计)人: | 郑光杰 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;H04L12/803 |
代理公司: | 北京博思佳知识产权代理有限公司 11415 | 代理人: | 陈蕾;靳玫 |
地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 消息 队列 系统 处理 方法 装置 | ||
本公开提供一种基于消息队列系统的消息处理方法和装置,其中方法包括:一个队列分组接收作为生产者的消息队列客户端发送的消息;队列分组判断当前的队列长度是否达到阈值,若达到阈值,则向生产者的消息队列客户端返回队列满指令和推荐切换的目标队列分组;作为生产者的消息队列客户端根据队列满指令,将生产的消息转发至目标队列分组;队列分组在接收到作为消费者的消息队列客户端拉取消息的请求时,同样进行队列长度是否达到阈值的判断,若达到阈值,则向消费者的消息队列客户端返回队列满指令和目标队列分组;作为消费者的消息队列客户端将由队列分组拉取的消息转发至目标队列分组。本公开加快了消息整体的处理速度,降低消息处理的延迟时间。
技术领域
本公开涉及计算机技术领域,特别涉及一种基于消息队列系统的消息处理方法和装置。
背景技术
消息队列技术是分布式应用间交换信息的一种技术,可以用于实现系统解耦、提高系统的响应时间等作用。在消息队列系统中,一个Topic(消息主题)可以包括多个partition(队列分组),每个partition是一个有序的队列。一个消息的投递过程可以包括:Producer(消息生产者)连接至预先分配的Partition,并在产生消息时主动投递消息至该预先分配的Partition中,Consumer(消息消费者)从预先分配的Partition中主动拉取消息进行消费。
但是,在实际的生产过程中,由于机器之间的负载存在差异性,对消息的消化速度是不一致的。比如,Consumer A和Consumer B分别从Partition1和Partition2中获取消息消费,即使两个Partition的消息数量相同,但是由于Consumer B当前的机器负载高,Consumer B完全处理消息队列所需要的时间比Consumer A长,这就导致Consumer B的消息处理延迟。而且Producer和Partition以及Consumer和Partition的对应关系是预先分配好的,在系统运行时是无法更改的,如果Producer生产的消息持续高速的分别向队列Partition1和Partition2投递,就会导致Consumer B对应的Partition2的消息积压越来越多,消息从产生到真正消费所需要等待的时间会越来越长。
发明内容
有鉴于此,本公开提供一种基于消息队列系统的消息处理方法和装置,以加快消息整体的处理速度,降低消息延迟时间。
具体地,本公开是通过如下技术方案实现的:
第一方面,提供一种基于消息队列系统的消息处理方法,所述消息队列系统包括消息队列服务端和消息队列客户端,所述消息队列服务端包括属于同一消息主题的多个队列分组;所述方法包括:
一个队列分组接收作为生产者的消息队列客户端发送的消息;
所述队列分组判断当前的队列长度是否达到阈值,若达到阈值,则向所述作为生产者的消息队列客户端返回队列满指令,并且返回推荐切换的目标队列分组;
所述作为生产者的消息队列客户端根据所述队列满指令,将生产的消息转发至所述目标队列分组;
所述队列分组接收作为消费者的消息队列客户端拉取消息的请求,所述作为消费者的消息队列客户端用于订阅所述消息主题并处理所述消息主题下的队列分组中发布的消息;
所述队列分组判断当前的队列长度是否达到阈值,若达到阈值,则向所述消费者的消息队列客户端返回队列满指令,并且返回推荐切换的目标队列分组;
所述作为消费者的消息队列客户端根据所述队列满指令,将由所述队列分组拉取的消息转发至所述目标队列分组,以由所述目标队列分组对应的消费者的消息队列客户端进行处理。
第二方面,提供一种消息队列系统,所述系统包括:消息队列服务端和消息队列客户端,所述消息队列服务端包括属于同一消息主题的多个队列分组,所述消息队列客户端包括作为生产者的消息队列客户端和作为消费者的消息队列客户端;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710366692.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种逆作法模板施工工艺
- 下一篇:一种竖向自由抗剪支座