一种基于消息队列系统的消息处理方法和装置制造方法及图纸

技术编号:16283011 阅读:40 留言:0更新日期:2017-09-23 02:30
本公开提供一种基于消息队列系统的消息处理方法和装置,其中方法包括:一个队列分组接收作为生产者的消息队列客户端发送的消息;队列分组判断当前的队列长度是否达到阈值,若达到阈值,则向生产者的消息队列客户端返回队列满指令和推荐切换的目标队列分组;作为生产者的消息队列客户端根据队列满指令,将生产的消息转发至目标队列分组;队列分组在接收到作为消费者的消息队列客户端拉取消息的请求时,同样进行队列长度是否达到阈值的判断,若达到阈值,则向消费者的消息队列客户端返回队列满指令和目标队列分组;作为消费者的消息队列客户端将由队列分组拉取的消息转发至目标队列分组。本公开加快了消息整体的处理速度,降低消息处理的延迟时间。

Message processing method and device based on message queuing system

The present invention provides a message queuing system based on message processing method and device, wherein the method comprises: receiving a packet queue as the client sends the message queue message queue producer; judging whether the current queue length reaches the threshold, if the threshold is reached, the target queue queue is returned full instructions and recommended switching to the message queue the client of the producer; as the producer according to the client message queue queue full instructions, will produce the message to the destination queue packet; packet to client message queue as consumers pull message when receiving the same queue length is reached the threshold judgment, if the threshold is reached, then the client message queue to consumers the return instruction queue is full and the target queue packet; message queue as guest consumers The client forwards the message pulled by the queue packet to the target queue packet. The present disclosure speeds up the overall processing speed of the message and reduces the delay time of message processing.

【技术实现步骤摘要】
一种基于消息队列系统的消息处理方法和装置
本公开涉及计算机
,特别涉及一种基于消息队列系统的消息处理方法和装置。
技术介绍
消息队列技术是分布式应用间交换信息的一种技术,可以用于实现系统解耦、提高系统的响应时间等作用。在消息队列系统中,一个Topic(消息主题)可以包括多个partition(队列分组),每个partition是一个有序的队列。一个消息的投递过程可以包括:Producer(消息生产者)连接至预先分配的Partition,并在产生消息时主动投递消息至该预先分配的Partition中,Consumer(消息消费者)从预先分配的Partition中主动拉取消息进行消费。但是,在实际的生产过程中,由于机器之间的负载存在差异性,对消息的消化速度是不一致的。比如,ConsumerA和ConsumerB分别从Partition1和Partition2中获取消息消费,即使两个Partition的消息数量相同,但是由于ConsumerB当前的机器负载高,ConsumerB完全处理消息队列所需要的时间比ConsumerA长,这就导致ConsumerB的消息处理延迟。而且Produc本文档来自技高网...
一种基于消息队列系统的消息处理方法和装置

【技术保护点】
一种基于消息队列系统的消息处理方法,所述消息队列系统包括消息队列服务端和消息队列客户端,所述消息队列服务端包括属于同一消息主题的多个队列分组;所述方法包括:一个队列分组接收作为生产者的消息队列客户端发送的消息;所述队列分组判断当前的队列长度是否达到阈值,若达到阈值,则向所述作为生产者的消息队列客户端返回队列满指令,并且返回推荐切换的目标队列分组;所述作为生产者的消息队列客户端根据所述队列满指令,将生产的消息转发至所述目标队列分组;所述队列分组接收作为消费者的消息队列客户端拉取消息的请求,所述作为消费者的消息队列客户端用于订阅所述消息主题并处理所述消息主题下的队列分组中发布的消息;所述队列分组判...

【技术特征摘要】
1.一种基于消息队列系统的消息处理方法,所述消息队列系统包括消息队列服务端和消息队列客户端,所述消息队列服务端包括属于同一消息主题的多个队列分组;所述方法包括:一个队列分组接收作为生产者的消息队列客户端发送的消息;所述队列分组判断当前的队列长度是否达到阈值,若达到阈值,则向所述作为生产者的消息队列客户端返回队列满指令,并且返回推荐切换的目标队列分组;所述作为生产者的消息队列客户端根据所述队列满指令,将生产的消息转发至所述目标队列分组;所述队列分组接收作为消费者的消息队列客户端拉取消息的请求,所述作为消费者的消息队列客户端用于订阅所述消息主题并处理所述消息主题下的队列分组中发布的消息;所述队列分组判断当前的队列长度是否达到阈值,若达到阈值,则向所述消费者的消息队列客户端返回队列满指令,并且返回推荐切换的目标队列分组;所述作为消费者的消息队列客户端根据所述队列满指令,将由所述队列分组拉取的消息转发至所述目标队列分组,以由所述目标队列分组对应的消费者的消息队列客户端进行处理。2.根据权利要求1所述的方法,所述返回推荐切换的目标队列分组,包括:所述队列分组向所述消息队列服务端的队列管理器请求推荐切换的目标对列分组;所述队列管理器根据位于同一消息主题下的各个队列分组的队列负载状态,选择当前负载低于负载最大阈值的队列分组作为所述目标队列分组。3.根据权利要求1所述的方法,所述方法还包括:若当前的所述队列分组的队列长度未达到阈值,则所述队列分组接受并存储所述作为生产者的消息队列客户端发送的消息;或者,若当前的所述队列分组的队列长度未达到阈值,则由所述队列分组对应的消费者的消息队列客户端处理拉取到的消息。4.一种消息队列系统,所述系统包括:消息队列服务端和消息队列客户端,所述消息队列服务端包括属于同一消息主题的多个队列分组,所述消息队列客户端包括作为生产者的消息队列客户端和作为消费者的消息队列客户端;所述消息队列服务端的其中一个队列分组,用于在接收到所述作为生产者的消息队列客户端发送的消息时,或者在接收到作为消费者的消息队列客户端拉取消息的请求时,判断当前的队列长度是否达到阈值,若达到阈值,则向所述消息队列客户端返回队列满指令,并且返回推荐切换的目标队列分组;所述作为生产者的消息队列客户端,用于根据所述队列满指令,将向所述队列分组发送的消息转发至所述目标队列分组;所述作为消费者的消息队列客户端,用于根据所述队列满指令,将由所述队列分组拉取的消息转发至所述目标队列分组。5.根据权利要求4所述的系统,所述消息队列服务端的所述队列分组,具体用于向所述消息队列服务端的队列管理器请求推荐切换的目标队列分组;所述队列管理器,用于根据位于同一消息主题下的各个队列分组的队列负载状态,选择当前负载低于负载最大阈值的队列分组作为所述目标队列分组。6.根据权利要求4所述的系统,所述队列分组,还用于若当前的所述队列分组的队列长度未达到阈值,则接受并存储所述作为生产者的消息队列客户端发送的消息,或者,将消息发送至对应的作为...

【专利技术属性】
技术研发人员:郑光杰
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1