消息队列的控制方法及装置制造方法及图纸

技术编号:14272250 阅读:74 留言:0更新日期:2016-12-23 16:45
本发明专利技术公开了一种消息队列的控制方法,所述消息队列的控制方法包括步骤:调用消息通道接收客户端发送的消息;在接收到客户端发送的所述消息时,将所述消息发送至调用的所述消息通道对应的至少一消息队列中。本发明专利技术还提出一种消息队列的控制装置。本发明专利技术提高了消息队列服务器的负载能力。

【技术实现步骤摘要】

本专利技术涉及计算机通信
,尤其涉及一种消息队列的控制方法及装置
技术介绍
RabbitMQ(Rabbit Message Queue,消息队列系统)包括Server(消息队列服务器)和客户端(包括消息发送方Produce和消费方Consumer),其中,Server中配置有Channel(消息通道)和Queue(消息队列)。当Server接收到Produce发送的消息时,通过Channel将消息发送至Queue中,供之后Consumer消费Queue中的消息,实现了消息的异步处理,从而得到广泛应用。但由于Server中的Queue为单一Queue,每个Channel都将消息发送至该单一Queue中,通过该单一Queue来负载所有消息,使得Server的负载能力不强。
技术实现思路
本专利技术的主要目的在于提供一种消息队列的控制方法和装置,旨在解决消息队列服务器的负载能力不强的技术问题。为实现上述目的,本专利技术提供一种消息队列的控制方法,所述消息队列的控制方法包括以下步骤:调用消息通道接收客户端发送的消息;在接收到客户端发送的所述消息时,将所述消息发送至调用的所述消息通道对应的至少一消息队列中。优选地,所述调用消息通道接收客户端发送的消息的步骤之前,还包括:配置各个消息通道对应的消息队列的分区数量;根据所述分区数量,分区配置各个所述消息通道对应的多个消息队列;建立各个所述消息通道与其配置的消息队列的绑定关系。优选地,所述建立各个所述消息通道与其配置的消息队列的绑定关系的步骤包括:配置各个所述消息通道与其配置的消息队列之间对应的各个绑定标识,根据各个所述绑定标识建立各个所述消息通道与其配置的消息队列的绑定关系;所述在接收到客户端发送的所述消息时,将所述消息发送至调用的所述消息通道对应的至少一消息队列中的步骤包括:在接收到客户端发送的消息时,获取所述消息中携带的路由标识;查询调用的所述消息通道与其配置的消息队列之间对应的各个绑定标识中是否存在绑定标识与获取的所述路由标识匹配;在有绑定标识与所述路由标识匹配时,将所述消息发送至匹配的所述绑定标识对应的消息队列。优选地,所述在接收到客户端发送的消息时,获取所述消息中携带的路由标识的步骤之前,还包括:在接收到所述客户端发送的申请标识信息请求时,从配置的各个所述绑定标识中选取一个绑定标识,并获取所述绑定标识中包含的分区标识;将获取的所述分区标识发送至所述客户端,以供所述客户端在待发送消息时根据所述分区标识生成对应的路由标识,并发送携带有生成的所述路由标识的消息。优选地,所述在接收到客户端发送的消息时,获取所述消息中携带的路由标识的步骤之前,还包括:在接收到所述客户端发送的申请标识信息请求时,发送配置的各个所述绑定标识中包含的分区标识至所述客户端,以供所述客户端保存各个所述分区标识,并在待发送消息时选取其中一个所述分区标识生成对应的路由标识,以发送携带有生成的所述路由标识的消息。此外,为实现上述目的,本专利技术还提出一种消息队列的控制装置,所述消息队列的控制装置包括:接收模块,用于调用消息通道接收客户端发送的消息;发送模块,用于在接收到客户端发送的所述消息时,将所述消息发送至调用的所述消息通道对应的至少一消息队列中。优选地,所述消息队列的控制装置还包括:第一配置模块,用于配置各个消息通道对应的消息队列的分区数量;第二配置模块,用于根据所述分区数量,分区配置各个所述消息通道对应的多个消息队列;处理模块,用于建立各个所述消息通道与其配置的息队列的绑定关系。优选地,所述处理模块,用于配置各个所述消息通道与其配置的消息队列之间对应的各个绑定标识,根据各个所述绑定标识建立各个所述消息通道与其配置的消息队列的绑定关系;所述发送模块包括:获取单元,用于在接收到客户端发送的消息时,获取所述消息中携带的路由标识;匹配单元,用于查询调用的所述消息通道与其配置的消息队列之间对应的各个绑定标识中是否存在绑定标识与获取的所述路由标识匹配;发送单元,用于在有绑定标识与所述路由标识匹配时,将所述消息发送至匹配的所述绑定标识对应的消息队列。优选地,所述处理模块,还用于在接收到所述客户端发送的申请标识信息请求时,从配置的各个所述绑定标识中选取一个绑定标识,并获取所述绑定标识中包含的分区标识;所述发送模块,还用于将获取的所述分区标识发送至所述客户端,以供所述客户端在待发送消息时根据所述分区标识生成对应的路由标识,并发送携带有生成的所述路由标识的消息。优选地,所述发送模块还用于:在接收到所述客户端发送的申请标识信息请求时,发送配置的各个所述绑定标识中包含的分区标识至所述客户端,以供所述客户端保存各个所述分区标识,并在待发送消息时选取其中一个所述分区标识生成对应的路由标识,以发送携带有生成的所述路由标识的消息。本专利技术提出的消息队列的控制方法及装置,通过调用消息通道接收客户端发送的消息,并将接收的消息发送至调用的消息通道对应的至少一消息队列中,而不是直接将消息都发送至单一的消息队列中,通过多个消息队列来负载接收到的消息,提高了消息队列服务器的负载能力。附图说明图1为本专利技术消息队列的控制方法第一实施例的流程示意图;图2为现有消息队列系统的一个结构框架示意图;图3为本专利技术消息队列的控制方法第二实施例的流程示意图;图4本专利技术消息队列系统的一个结构框架示意图;图5为本专利技术消息队列的控制装置第一实施例的功能模块示意图;图6为本专利技术消息队列的控制装置第二实施例的功能模块示意图。具体实施方式应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。本专利技术提供一种消息队列的控制方法。参照图1,图1为本专利技术消息队列的控制方法第一实施例的流程示意图。在本实施例中,所述消息队列的控制方法包括以下步骤:步骤S10,调用消息通道接收客户端发送的消息;步骤S20,在接收到客户端发送的所述消息时,将所述消息发送至调用的所述消息通道对应的至少一消息队列中。在现有的单Queue(消息队列)-RabbitMQ(Rabbit Message Queue,消息队列系统)配置模式中,消息队列服务器Server中配置的消息通道与单一消息队列建立绑定关系。例如,如图2所示,消息通道包括消息通道Channel1、Channel2和Channel3,而每个消息通道均通过绑定标识Binding key与单一消息队列Queue绑定。当不管是哪个客户端发送消息时,比如不论是Produce1、Produce2还是Produce3发送消息至对应的消息通道Channel1、消息通道Channel2或消息通道Channel3,当消息通道Channel1、消息通道Channel2或消息通道Channel3在接收到消息时,均将接收到的消息发送至单一消息队列Queue中,通过单一消息队列Queue进行消息处理。由于单一的消息队列Queue的吞吐能力有限,影响了消息队列服务器Server的负载性能。为了提高消息队列服务器Server的负载性能,本实施例中,消息队列服务器Server中配置有多个消息队列,每个消息通道分别对应一个或多个消息队列。当客户端发送消息时,消息队列服务器Server调用消息通道接收客户端发送的消息。当接收到客户端发送的消息时,将接收到的本文档来自技高网...
消息队列的控制方法及装置

【技术保护点】
一种消息队列的控制方法,其特征在于,所述消息队列的控制方法包括以下步骤:调用消息通道接收客户端发送的消息;在接收到客户端发送的所述消息时,将所述消息发送至调用的所述消息通道对应的至少一消息队列中。

【技术特征摘要】
1.一种消息队列的控制方法,其特征在于,所述消息队列的控制方法包括以下步骤:调用消息通道接收客户端发送的消息;在接收到客户端发送的所述消息时,将所述消息发送至调用的所述消息通道对应的至少一消息队列中。2.如权利要求1所述的消息队列的控制方法,其特征在于,所述调用消息通道接收客户端发送的消息的步骤之前,还包括:配置各个消息通道对应的消息队列的分区数量;根据所述分区数量,分区配置各个所述消息通道对应的多个消息队列;建立各个所述消息通道与其配置的消息队列的绑定关系。3.如权利要求2所述的消息队列的控制方法,其特征在于,所述建立各个所述消息通道与其配置的消息队列的绑定关系的步骤包括:配置各个所述消息通道与其配置的消息队列之间对应的各个绑定标识,根据各个所述绑定标识建立各个所述消息通道与其配置的消息队列的绑定关系;所述在接收到客户端发送的所述消息时,将所述消息发送至调用的所述消息通道对应的至少一消息队列中的步骤包括:在接收到客户端发送的消息时,获取所述消息中携带的路由标识;查询调用的所述消息通道与其配置的消息队列之间对应的各个绑定标识中是否存在绑定标识与获取的所述路由标识匹配;在有绑定标识与所述路由标识匹配时,将所述消息发送至匹配的所述绑定标识对应的消息队列。4.如权利要求3所述的消息队列的控制方法,其特征在于,所述在接收到客户端发送的消息时,获取所述消息中携带的路由标识的步骤之前,还包括:在接收到所述客户端发送的申请标识信息请求时,从配置的各个所述绑定标识中选取一个绑定标识,并获取所述绑定标识中包含的分区标识;将获取的所述分区标识发送至所述客户端,以供所述客户端在待发送消息时根据所述分区标识生成对应的路由标识,并发送携带有生成的所述路由标识的消息。5.如权利要求3所述的消息队列的控制方法,其特征在于,所述在接收到客户端发送的消息时,获取所述消息中携带的路由标识的步骤之前,还包括:在接收到所述客户端发送的申请标识信息请求时,发送配置的各个所述绑定标识中包含的分区标识至所述客户端,以供所述客户端保存各个所述分区标识,并在待发送消息时选取其中...

【专利技术属性】
技术研发人员:朱乐超张勇华于鸿磊刘建刚
申请(专利权)人:广州唯品会信息科技有限公司
类型:发明
国别省市:广东;44

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

1