CN113971098A - 一种RabbitMQ消费管理方法及*** - Google Patents
一种RabbitMQ消费管理方法及*** Download PDFInfo
- Publication number
- CN113971098A CN113971098A CN202111284084.2A CN202111284084A CN113971098A CN 113971098 A CN113971098 A CN 113971098A CN 202111284084 A CN202111284084 A CN 202111284084A CN 113971098 A CN113971098 A CN 113971098A
- Authority
- CN
- China
- Prior art keywords
- rabbitmq
- queue
- consumption management
- management center
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0637—Strategic management or analysis, e.g. setting a goal or target of an organisation; Planning actions based on goals; Analysis or evaluation of effectiveness of goals
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Human Resources & Organizations (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Economics (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Educational Administration (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Game Theory and Decision Science (AREA)
- Development Economics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种RabbitMQ消费管理方法及***,其中,所述方法包括:获得消费者配置指令,根据消费者配置指令构建RabbitMQ消费管理中心;获得第一队列的信息;进一步获得第一队列的真实消费的api路径配置信息;根据第一队列的信息对所述第一队列进行监听,获得第一监听结果;根据第一监听结果,对所述第一队列和所述api路径配置信息进行管理。解决了现有技术中存在开发人员既要开发消费逻辑,又要关心消费者的创建和监听,开发工作繁琐,同时,由于消费者的创建声明在消费程序中,当出现消息堆积情况时,无法横向扩展消费者来增加消费速度,并且存在维护成本高,出现问题后难以追踪的技术问题。
Description
技术领域
本发明涉及消息队列处理技术领域,具体涉及一种RabbitMQ消费管理方法及***。
背景技术
RabbitMQ技术是当前市场成熟的消息队列处理技术,旨在为消息请求提供限流,削峰,解耦。RabbitMQ是一个实现了AMQP的开源消息中间件。RabbitMQ由Erlang语言编写,继承了Erlang语言的并发性、高性能、可伸缩性等优点。RabbitMQ可以运行于多种操作***上,例如Windows、Linux和BSD等,同时支持C、PHP、Java等多种客户端。使用RabbitMQ实现应用***软件间的通信,可以屏蔽底层操作***、网络环境及开发语言的差异性,使软件的开发工作变得简单,同时也可以缩短开发周期。RabbitMQ为通信提供了高可靠性和方便性,解决了大型软件***组件或者子***间的通信问题,有效的降低了发送者和接收者的耦合度。
但本申请发明人在实现本申请实施例中发明技术方案的过程中,发现上述技术至少存在如下技术问题:
现有技术中存在开发人员既要开发消费逻辑,又要关心消费者的创建和监听,开发工作繁琐,同时,由于消息消费者的创建声明在消费程序中,当出现消息堆积情况时,无法横向扩展消费者来增加消费速度,并且存在消息队列和消费者的维护成本高,出现问题后难以追踪的技术问题。
发明内容
针对现有技术中的缺陷,本申请实施例的目的是,通过提供一种RabbitMQ消费管理方法及***,解决了现有技术中存在开发人员既要开发消费逻辑,又要关心消费者的创建和监听,开发工作繁琐,同时,由于消息消费者的创建声明在消费程序中,当出现消息堆积情况时,无法横向扩展消费者来增加消费速度,并且存在消息队列和消费者的维护成本高,出现问题后难以追踪的技术问题。达到了通过消费者创建和消费逻辑的解耦,使开发人员只需注重消费逻辑的开发,通过修改RabbitMQ管理中心消费者数量,灵活扩展消费者数量,加快消息消费,并且基于RabbtiMQ管理中心能够查看每个消费队列对应的消费者和对应的消费接口,达到有据可查,方便维护的技术效果。
第一方面,本申请实施例提供一种RabbitMQ消费管理方法,其中,所述方法包括:获得消费者配置指令,根据所述消费者配置指令构建RabbitMQ消费管理中心,其中,所述RabbitMQ消费管理中心包括UI和Service;通过所述RabbitMQ消费管理中心获得第一队列的信息;通过所述RabbitMQ消费管理中心获得所述第一队列的真实消费的api路径配置信息;通过所述RabbitMQ消费管理中心根据所述第一队列的信息对所述第一队列进行监听,获得第一监听结果;根据所述第一监听结果,对所述第一队列和所述api路径配置信息进行管理。
另一方面,本申请还提供了一种RabbitMQ消费管理***,其中,所述***包括:第一获得单元,所述第一获得单元用于获得消费者配置指令,根据所述消费者配置指令构建RabbitMQ消费管理中心,其中,所述RabbitMQ消费管理中心包括UI和Service;第二获得单元,所述第二获得单元用于通过所述RabbitMQ消费管理中心获得第一队列的信息;第三获得单元,所述第三获得单元用于通过所述RabbitMQ消费管理中心获得所述第一队列的真实消费的api路径配置信息;第一监听单元,所述第一监听单元用于通过所述RabbitMQ消费管理中心根据所述第一队列的信息对所述第一队列进行监听,获得第一监听结果;第一管理单元,所述第一管理单元用于根据所述第一监听结果,对所述第一队列和所述api路径配置信息进行管理。
另一方面,本发明提供了一种RabbitMQ消费管理***,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现第一方面所述方法的步骤。
本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
由于获得消费者配置指令,根据所述消费者配置指令构建RabbitMQ消费管理中心,其中,所述RabbitMQ消费管理中心包括UI和Service;通过所述RabbitMQ消费管理中心获得第一队列的信息;通过所述RabbitMQ消费管理中心获得所述第一队列的真实消费的api路径配置信息;通过所述RabbitMQ消费管理中心根据所述第一队列的信息对所述第一队列进行监听,获得第一监听结果;根据所述第一监听结果,对所述第一队列和所述api路径配置信息进行管理。基于此,能够构建一种RabbitMQ消费管理方法,达到了通过消费者创建和消费逻辑的解耦,使开发人员只需注重消费逻辑的开发,通过修改RabbitMQ管理中心消费者数量,灵活扩展消费者数量,加快消息消费,并且基于RabbtiMQ管理中心能够查看每个消费队列对应的消费者和对应的消费接口,达到有据可查,方便维护的技术效果。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
通过阅读参照以下附图对非限制性实施例所做的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本申请实施例一种RabbitMQ消费管理方法的流程示意图;
图2为本申请实施例一种RabbitMQ消费管理方法中根据所述数量信息对消息进行分配管理的流程示意图;
图3为本申请实施例一种RabbitMQ消费管理方法中基于所述第一匹配结果进行队列的负载均衡管理的流程示意图;
图4为本申请实施例一种RabbitMQ消费管理方法中获得所述活性信息对应的消费者进行分片转移的流程示意图;
图5为本申请实施例一种RabbitMQ消费管理方法中基于所述第一配置结果和所述第二配置结果获得所述RabbitMQ消费管理中心的流程示意图;
图6为本申请实施例一种RabbitMQ消费管理***的结构示意图;
图7为本申请实施例示例性电子设备的结构示意图。
附图标记说明:第一获得单元11,第二获得单元12,第三获得单元13,第一监听单元14,第一管理单元15,总线300,接收器301,处理器302,发送器303,存储器304,总线接口305。
具体实施方式
本申请实施例通过提供一种RabbitMQ消费管理方法及***,解决了现有技术中存在开发人员既要开发消费逻辑,又要关心消费者的创建和监听,开发工作繁琐,同时,由于消息消费者的创建声明在消费程序中,当出现消息堆积情况时,无法横向扩展消费者来增加消费速度,并且存在消息队列和消费者的维护成本高,出现问题后难以追踪的技术问题。达到了通过消费者创建和消费逻辑的解耦,使开发人员只需注重消费逻辑的开发,通过修改RabbitMQ管理中心消费者数量,灵活扩展消费者数量,加快消息消费,并且基于RabbtiMQ管理中心能够查看每个消费队列对应的消费者和对应的消费接口,达到有据可查,方便维护的技术效果。
下面,将参考附图详细的描述根据本申请的示例实施例。显然,所描述的实施例仅是本申请的一部分实施例,而不是本申请的全部实施例,应理解,本申请不受这里描述的示例实施例的限制。
申请概述
RabbitMQ技术是当前市场成熟的消息队列处理技术,旨在为消息请求提供限流,削峰,解耦。RabbitMQ是一个实现了AMQP的开源消息中间件。RabbitMQ由Erlang语言编写,继承了Erlang语言的并发性、高性能、可伸缩性等优点。RabbitMQ可以运行于多种操作***上,例如Windows、Linux和BSD等,同时支持C、PHP、Java等多种客户端。使用RabbitMQ实现应用***软件间的通信,可以屏蔽底层操作***、网络环境及开发语言的差异性,使软件的开发工作变得简单,同时也可以缩短开发周期。RabbitMQ为通信提供了高可靠性和方便性,解决了大型软件***组件或者子***间的通信问题,有效的降低了发送者和接收者的耦合度。现有技术中存在开发人员既要开发消费逻辑,又要关心消费者的创建和监听,开发工作繁琐,同时,由于消息消费者的创建声明在消费程序中,当出现消息堆积情况时,无法横向扩展消费者来增加消费速度,并且存在消息队列和消费者的维护成本高,出现问题后难以追踪的技术问题。
针对上述技术问题,本申请提供的技术方案总体思路如下:
本申请实施例提供一种RabbitMQ消费管理方法,其中,所述方法包括:获得消费者配置指令,根据所述消费者配置指令构建RabbitMQ消费管理中心,其中,所述RabbitMQ消费管理中心包括UI和Service;通过所述RabbitMQ消费管理中心获得第一队列的信息;通过所述RabbitMQ消费管理中心获得所述第一队列的真实消费的api路径配置信息;通过所述RabbitMQ消费管理中心根据所述第一队列的信息对所述第一队列进行监听,获得第一监听结果;根据所述第一监听结果,对所述第一队列和所述api路径配置信息进行管理。为了更好地理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。
实施例一
如图1所示,本申请实施例提供了一种RabbitMQ消费管理方法,其中,其中,所述方法包括:
步骤S100:获得消费者配置指令,根据所述消费者配置指令构建RabbitMQ消费管理中心,其中,所述RabbitMQ消费管理中心包括UI和Service;
具体而言,RabbitMQ收到一个消息时需要经过以下几个步骤处理消息,根据客户端传来的消息内容及相关属性构造一个消息实体,根据要投递的交换机及路由键匹配满足规则的队列名称,根据获得的队列名称找到相应的队列处理进程的ID,队列处理进程收到需要处理的消息后,会尝试向订阅了该队列的消费者发送消息。所述消费者是是消息的接收方,连接到RabbitMQ是为了消费队列中的消息。所述消费者配置指令指为消息接收方配置消息的指令,根据所述消费者配置指令构建RabbitMQ消费管理中心,所述RabbitMQ消费管理中心既管理消费者,又管理消息中间件(Broker)包括队列、交换机、路由键等,所述RabbitMQ消费管理中心包括UI和Service,所述UI指页面,所述Service指提供的服务,RabbitMQ消费管理中心提供了一个用户页面和相应的服务,使得用户可以通过在页面配置,简化交换机,队列,消费等创建,从而减小***的运维成本,提升运维能力。
步骤S200:通过所述RabbitMQ消费管理中心获得第一队列的信息;
步骤S300:通过所述RabbitMQ消费管理中心获得所述第一队列的真实消费的api路径配置信息;
具体而言,所述第一队列为消息队列,消息队列是RabbitMQ的重要组件之一,消息队列的功能主要是实现消息的存储,当消息的接收方不在线时,消息被存储到消息队列中等待后续的处理,在消费者在线时再将消息发送给消费者。通过所述RabbitMQ消费管理中心获得第一队列的信息,所述信息包括队列名称、消息队列中消息的数量、队列中消息的状态等。进一步的,获得所述第一队列的真实消费的api路径配置信息,即通过所述RabbitMQ消费管理中心获得消费者的具体api接口的信息。RabbitMQ消费管理中心获取队列和消费者的信息,为后续队列的监听和转发到具体的消费api接口上奠定基础,达到简化开发人员的开发过程,便于消费者管理、加快消息消费的效果。
步骤S400:通过所述RabbitMQ消费管理中心根据所述第一队列的信息对所述第一队列进行监听,获得第一监听结果;
具体而言,RabbitMQ管理中心能够对消息队列进行监听,能够实时监听消息队列的运行状态,通过对所述第一队列进行监听,能够显示消息队列的各项监控指标,及时显示异常的节点实例和消息队列。运维管理人员可以根据显示的异常信息,及时的发现异常节点和消息队列,根据业务绑定关系准确联系到相关负责人,在第一时间发现问题,解决问题。
步骤S500:根据所述第一监听结果,对所述第一队列和所述api路径配置信息进行管理。
具体而言,根据所述第一监听结果,能够了解到所述第一队列的运行情况,从而根据所述第一监听结果对所述第一队列和所述api路径配置信息进行管理。例如,从所述第一监听结果了解到所述第一队列的消息出现消息堆积情况,那么可通过横向扩展消费者来消费消息,将消息配置给更多的所述api路径,即对所述第一队列和所述api路径配置信息进行管理。故可通过修改RabbitMQ管理中心消费者数量,灵活改变消费者数量,达到加快消息消费的效果,同时基于RabbtiMQ管理中心可以查看和管理每个消费队列对应的消费者和对应的消费接口,达到有据可查,方便维护的效果。
进一步的,如图2所示,本申请实施例还包括:
步骤S610:通过所述RabbitMQ消费管理中心获得消费者线程数量信息;
步骤S620:根据所述数量信息对消息进行分配管理。
具体而言,通过所述RabbitMQ消费管理中心获得消费者线程数量信息,所述消费者线程数量信息为所述第一队列的消息消费者的数量,所述线程是独立调度和分派的基本单位,同一进程中的多条线程将共享该进程中的全部***资源,一个进程可以有多个线程。进一步的,根据消费者的数量对消息按照一定分配原则进行分配管理,通过RabbitMQ管理中心获取配置到启动多少的消费者线程,利于处理消息大量堆积的问题。
进一步的,如图3所示,本申请实施例步骤S620还包括:
步骤S621:获得第一分配规则,基于所述第一分配规则进行消费者和队列的监听匹配,获得第一匹配结果;
步骤S622:基于所述第一匹配结果进行队列的负载均衡管理。
具体而言,平时数据压力不大时,多个消费者同时监听一个队列,对***资源也是一种浪费,因此要设定一个合理的分配规则,将消费者跟队列进行合理匹配。所述第一分配规则指分片策略,即先分别确定每个消息队列中堆积的消息的数量以及确定消费者的状态、消费者的数量,然后根据消费者的状态,对其进行分片转移,将不同数量的消息与不同片消费者的状态对应,按照分片策略进行匹配。根据第一分配规则,将消费者跟队列进行监听匹配,即设定哪个消费者监听哪些队列,从而获得第一匹配结果。进一步的,基于所述第一匹配结果进行队列的负载均衡管理,所述负载均衡意思就是分摊到多个操作单元上进行执行,即分摊到多个消费者处进行消息消费,从而共同完成工作任务。基于所述第一匹配结果,将所述第一队列的消息分配给对应数量、对应状态的消费者进行监听,有利于消费者消费的负载均衡,从而加快消息消费。
进一步的,如图4所示,本申请实施例还包括:
步骤S710:通过所述RabbitMQ消费管理中心获得消费者的活性信息;
步骤S720:判断所述活性信息是否存在异常;
步骤S730:当所述活性信息存在异常时,获得所述活性信息对应的消费者进行分片转移。
具体而言,通过所述RabbitMQ消费管理中心获得消费者的活性信息,所述RabbitMQ消费管理中心能够管理中间件和管理消费者,当所述RabbitMQ消费管理中心对消费者进行管理和监测时,能够获取消费者的活性信息,判断所述活性信息是否存在异常,所述活性信息异常如消费者网络异常、服务器异常、消费者掉线、消费者下线等。当所述活性信息存在异常时,将所述活性信息对应的消费者进行分片转移,将活性信息异常的消费者分片后转移,在后续第一队列和消费者监听匹配时,不匹配这些异常的消费者。能够加强对消费者的管理,达到容灾的目的,保证数据的安全性。
进一步的,其中,所述通过所述RabbitMQ消费管理中心获得第一队列的信息,步骤S200:还包括:
步骤S210:所述RabbitMQ消费管理中心通过Rabbitmq Http-Api技术管理Broker内的交换机和队列,获得所述第一队列的信息。
具体而言,所述RabbitMQ消费管理中心通过调用Rabbitmq Http-Api接口,来获取如集群、节点、队列、交换器等信息,管理Broker内的交换机和队列,所述Broker为中间件,依据消息传送或消息队列的原理来工作的,能够简化应用之间的数据的传输,提供可靠的、跨平台的消息传输方式。为应用程序提供异步通信的方式。所述交换机,其主要功能是接受需要处理的消息,根据交换机已有的绑定规则及消息的路由键,按照交换机的匹配算法进行匹配,查找满足规则的队列。所述队列指消息队列,主要功能是实现消息的存储,当消息的接收方不在线时,消息被存储到消息队列中等待后续的处理。通过调用Rabbitmq Http-Api接口获取所述第一队列的信息,包括名称、消息量等,达到为后续队列的监听奠定良好基础的技术效果。
进一步的,如图5所示,本申请实施例还包括:
步骤S810:根据所述消费者配置指令进行所述RabbitMQ消费管理中心的UI配置,获得第一配置结果;
步骤S820:根据所述第一配置结果进行所述RabbitMQ消费管理中心的Service配置,获得第二配置结果;
步骤S830:基于所述第一配置结果和所述第二配置结果获得所述RabbitMQ消费管理中心。
具体而言,根据所述消费者配置指令进行所述RabbitMQ消费管理中心的UI配置,获得第一配置结果,所述UI配置指给用户配置消息的***页面,在此页面上用户可以监控和管理所述第一队列的消息。根据所述第一配置结果进行所述RabbitMQ消费管理中心的Service配置,获得第二配置结果,所述Service配置指给用户配置的相应的服务,如可以创建mq信息。在所述第一配置结果和所述第二配置结果基础上能够获得所述RabbitMQ消费管理中心。用户可以通过在所述RabbitMQ消费管理中心的页面配置,简化交换机,队列,消费等创建,能够达到简化开发过程,便于消费者管理,增快消息的消费的效果。
与现有技术相比,本发明具有如下的有益效果:
1.由于获得消费者配置指令,根据所述消费者配置指令构建RabbitMQ消费管理中心,其中,所述RabbitMQ消费管理中心包括UI和Service;通过所述RabbitMQ消费管理中心获得第一队列的信息;通过所述RabbitMQ消费管理中心获得所述第一队列的真实消费的api路径配置信息;通过所述RabbitMQ消费管理中心根据所述第一队列的信息对所述第一队列进行监听,获得第一监听结果;根据所述第一监听结果,对所述第一队列和所述api路径配置信息进行管理。基于此,能够构建一种RabbitMQ消费管理方法,达到了通过消费者创建和消费逻辑的解耦,使开发人员只需注重消费逻辑的开发,通过修改RabbitMQ管理中心消费者数量,灵活扩展消费者数量,加快消息消费,并且基于RabbtiMQ管理中心能够查看每个消费队列对应的消费者和对应的消费接口,达到有据可查,方便维护的技术效果。
2.RabbitMQ管理中心能够对消费者进行管理和配置,还具有活性监测消费者的容灾机制,能够保证用户数据的安全性。
实施例二
基于与前述实施例中一种RabbitMQ消费管理方法同样发明构思,本发明还提供了一种RabbitMQ消费管理***,如图6所示,所述***包括:
第一获得单元11,所述第一获得单元11用于获得消费者配置指令,根据所述消费者配置指令构建RabbitMQ消费管理中心,其中,所述RabbitMQ消费管理中心包括UI和Service;
第二获得单元12,所述第二获得单元12用于通过所述RabbitMQ消费管理中心获得第一队列的信息;
第三获得单元13,所述第三获得单元13用于通过所述RabbitMQ消费管理中心获得所述第一队列的真实消费的api路径配置信息;
第一监听单元14,所述第一监听单元14用于通过所述RabbitMQ消费管理中心根据所述第一队列的信息对所述第一队列进行监听,获得第一监听结果;
第一管理单元15,所述第一管理单元15用于根据所述第一监听结果,对所述第一队列和所述api路径配置信息进行管理。
进一步的,所述***还包括:
第四获得单元,所述第四获得单元用于通过所述RabbitMQ消费管理中心获得消费者线程数量信息;
第二管理单元,所述第二管理单元用于根据所述数量信息对消息进行分配管理。
进一步的,所述***还包括:
第五获得单元,所述第五获得单元用于获得第一分配规则,基于所述第一分配规则进行消费者和队列的监听匹配,获得第一匹配结果;
第三管理单元,所述第三管理单元用于基于所述第一匹配结果进行队列的负载均衡管理。
进一步的,所述***还包括:
第六获得单元,所述第六获得单元用于通过所述RabbitMQ消费管理中心获得消费者的活性信息;
第一判断单元,所述第一判断单元用于判断所述活性信息是否存在异常;
第六获得单元,所述第六获得单元用于当所述活性信息存在异常时,获得所述活性信息对应的消费者进行分片转移。
进一步的,所述***还包括:
第七获得单元,所述第七获得单元用于所述RabbitMQ消费管理中心通过RabbitmqHttp-Api技术管理Broker内的交换机和队列,获得所述第一队列的信息。
进一步的,所述***还包括:
第八获得单元,所述第八获得单元用于根据所述消费者配置指令进行所述RabbitMQ消费管理中心的UI配置,获得第一配置结果;
第九获得单元,所述第九获得单元用于根据所述第一配置结果进行所述RabbitMQ消费管理中心的Service配置,获得第二配置结果;
第十获得单元,所述第十获得单元用于基于所述第一配置结果和所述第二配置结果获得所述RabbitMQ消费管理中心。
前述图1实施例一中的一种RabbitMQ消费管理方法的各种变化方式和具体实例同样适用于本实施例的一种RabbitMQ消费管理***,通过前述对一种RabbitMQ消费管理方法的详细描述,本领域技术人员可以清楚的知道本实施例中一种RabbitMQ消费管理***的实施方法,所以为了说明书的简洁,在此不再详述。
实施例三
下面参考图7来描述本申请实施例的电子设备。
图7图示了根据本申请实施例的电子设备的结构示意图。
基于与前述实例施中一种RabbitMQ消费管理方法的发明构思,本发明还提供一种RabbitMQ消费管理***,其上存储有计算机程序,该程序被处理器执行时实现前文所述一种RabbitMQ消费管理***的任一方法的步骤。
其中,在图7中,总线架构(用总线300来代表),总线300可以包括任意数量的互联的总线和桥,总线300将包括由处理器302代表的一个或多个处理器和存储器304代表的存储器的各种电路链接在一起。总线300还可以将诸如***设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口305在总线300和接收器301和发送器303之间提供接口。接收器301和发送器303可以是同一个元件,即收发机,提供用于在传输介质上与各种其他***通信的单元。处理器302负责管理总线300和通常的处理,而存储器304可以被用于存储处理器302在执行操作时所使用的数据。
本申请实施例提供一种RabbitMQ消费管理方法,其中,所述方法包括:获得消费者配置指令,根据所述消费者配置指令构建RabbitMQ消费管理中心,其中,所述RabbitMQ消费管理中心包括UI和Service;通过所述RabbitMQ消费管理中心获得第一队列的信息;通过所述RabbitMQ消费管理中心获得所述第一队列的真实消费的api路径配置信息;通过所述RabbitMQ消费管理中心根据所述第一队列的信息对所述第一队列进行监听,获得第一监听结果;根据所述第一监听结果,对所述第一队列和所述api路径配置信息进行管理。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的***。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令***的制造品,该指令***实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (8)
1.一种RabbitMQ消费管理方法,其中,所述方法包括:
获得消费者配置指令,根据所述消费者配置指令构建RabbitMQ消费管理中心,其中,所述RabbitMQ消费管理中心包括UI和Service;
通过所述RabbitMQ消费管理中心获得第一队列的信息;
通过所述RabbitMQ消费管理中心获得所述第一队列的真实消费的api路径配置信息;
通过所述RabbitMQ消费管理中心根据所述第一队列的信息对所述第一队列进行监听,获得第一监听结果;
根据所述第一监听结果,对所述第一队列和所述api路径配置信息进行管理。
2.如权利要求1所述的方法,其中,所述方法还包括:
通过所述RabbitMQ消费管理中心获得消费者线程数量信息;
根据所述数量信息对消息进行分配管理。
3.如权利要求2所述的方法,其中,所述方法还包括:
获得第一分配规则,基于所述第一分配规则进行消费者和队列的监听匹配,获得第一匹配结果;
基于所述第一匹配结果进行队列的负载均衡管理。
4.如权利要求1所述的方法,其中,所述方法还包括:
通过所述RabbitMQ消费管理中心获得消费者的活性信息;
判断所述活性信息是否存在异常;
当所述活性信息存在异常时,获得所述活性信息对应的消费者进行分片转移。
5.如权利要求1所述的方法,其中,所述通过所述RabbitMQ消费管理中心获得第一队列的信息还包括:
所述RabbitMQ消费管理中心通过Rabbitmq Http-Api技术管理Broker内的交换机和队列,获得所述第一队列的信息。
6.如权利要求1所述的方法,其中,所述方法还包括:
根据所述消费者配置指令进行所述RabbitMQ消费管理中心的UI配置,获得第一配置结果;
根据所述第一配置结果进行所述RabbitMQ消费管理中心的Service配置,获得第二配置结果;
基于所述第一配置结果和所述第二配置结果获得所述RabbitMQ消费管理中心。
7.一种RabbitMQ消费管理***,其中,所述***包括:
第一获得单元,所述第一获得单元用于获得消费者配置指令,根据所述消费者配置指令构建RabbitMQ消费管理中心,其中,所述RabbitMQ消费管理中心包括UI和Service;
第二获得单元,所述第二获得单元用于通过所述RabbitMQ消费管理中心获得第一队列的信息;
第三获得单元,所述第三获得单元用于通过所述RabbitMQ消费管理中心获得所述第一队列的真实消费的api路径配置信息;
第一监听单元,所述第一监听单元用于通过所述RabbitMQ消费管理中心根据所述第一队列的信息对所述第一队列进行监听,获得第一监听结果;
第一管理单元,所述第一管理单元用于根据所述第一监听结果,对所述第一队列和所述api路径配置信息进行管理。
8.一种RabbitMQ消费管理***,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现权利要求1-6任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111284084.2A CN113971098A (zh) | 2021-11-01 | 2021-11-01 | 一种RabbitMQ消费管理方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111284084.2A CN113971098A (zh) | 2021-11-01 | 2021-11-01 | 一种RabbitMQ消费管理方法及*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113971098A true CN113971098A (zh) | 2022-01-25 |
Family
ID=79589156
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111284084.2A Pending CN113971098A (zh) | 2021-11-01 | 2021-11-01 | 一种RabbitMQ消费管理方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113971098A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114553578A (zh) * | 2022-02-28 | 2022-05-27 | 苏州浪潮智能科技有限公司 | 一种消息队列异常检测方法、装置、电子设备及存储介质 |
CN114584508A (zh) * | 2022-03-02 | 2022-06-03 | 华云数据控股集团有限公司 | 基于Rabbit MQ双工通讯的方法及应用 |
-
2021
- 2021-11-01 CN CN202111284084.2A patent/CN113971098A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114553578A (zh) * | 2022-02-28 | 2022-05-27 | 苏州浪潮智能科技有限公司 | 一种消息队列异常检测方法、装置、电子设备及存储介质 |
CN114553578B (zh) * | 2022-02-28 | 2023-08-11 | 苏州浪潮智能科技有限公司 | 一种消息队列异常检测方法、装置、电子设备及存储介质 |
CN114584508A (zh) * | 2022-03-02 | 2022-06-03 | 华云数据控股集团有限公司 | 基于Rabbit MQ双工通讯的方法及应用 |
CN114584508B (zh) * | 2022-03-02 | 2024-02-06 | 华云数据控股集团有限公司 | 基于Rabbit MQ双工通讯的方法及应用 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10491560B2 (en) | Message delivery in messaging networks | |
CN108985937B (zh) | 一种基于区块链技术的计算资源共享方法及区块链*** | |
CN111913818B (zh) | 一种确定服务间依赖关系的方法及相关装置 | |
Tran et al. | Eqs: An elastic and scalable message queue for the cloud | |
CN109995801B (zh) | 一种消息传输方法和装置 | |
CN110795503A (zh) | 分布式存储***的多集群数据同步方法及相关装置 | |
CN113971098A (zh) | 一种RabbitMQ消费管理方法及*** | |
CN111770029B (zh) | 基于RabbitMQ和ActiveMQ的动态队列转发方法、***及存储介质 | |
CN109150558B (zh) | 管理消息队列节点的方法、装置和*** | |
CN109783151B (zh) | 规则变更的方法和装置 | |
CN112579304A (zh) | 基于分布式平台的资源调度方法、装置、设备及介质 | |
CN112631800A (zh) | 面向kafka的数据传输方法、***、计算机设备及存储介质 | |
CN111414241A (zh) | 批量数据处理方法、装置、***、计算机设备及计算机可读存储介质 | |
CN113626211A (zh) | 消息队列的切换方法、切换***、电子设备及存储介质 | |
CN117118982A (zh) | 基于云原生多集群的消息传输方法、装置、介质及设备 | |
CN112486912A (zh) | 一种文件转换***、方法、电子设备及存储介质 | |
CN115361382A (zh) | 基于数据群组的数据处理方法、装置、设备和存储介质 | |
CN114020453A (zh) | 服务总线消息处理方法、服务总线***、电子设备及介质 | |
CN115250276A (zh) | 分布式***及数据处理的方法和装置 | |
CN112596761A (zh) | 服务的更新发布方法、装置及相关设备 | |
CN112416980A (zh) | 数据业务处理方法、装置及设备 | |
CN114253747B (zh) | 一种分布式消息管理***和方法 | |
CN113485811A (zh) | 计算任务管理方法、装置、计算机设备及存储介质 | |
CN117880340A (zh) | 一种远程过程调用方法、装置及存储介质 | |
CN114356505A (zh) | 用于调度容器组的方法、装置、设备、介质和产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 100000 floors 1-3, block a, global creative Plaza, No. 10, Furong street, Chaoyang District, Beijing Applicant after: Bairong Zhixin (Beijing) Technology Co.,Ltd. Address before: 100000 floors 1-3, block a, global creative Plaza, No. 10, Furong street, Chaoyang District, Beijing Applicant before: Bairong Zhixin (Beijing) credit investigation Co.,Ltd. |
|
CB02 | Change of applicant information |