CN111770029B - 基于RabbitMQ和ActiveMQ的动态队列转发方法、系统及存储介质 - Google Patents

基于RabbitMQ和ActiveMQ的动态队列转发方法、系统及存储介质 Download PDF

Info

Publication number
CN111770029B
CN111770029B CN202010552307.8A CN202010552307A CN111770029B CN 111770029 B CN111770029 B CN 111770029B CN 202010552307 A CN202010552307 A CN 202010552307A CN 111770029 B CN111770029 B CN 111770029B
Authority
CN
China
Prior art keywords
message
queue
rabbitmq
cluster
activemq
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.)
Active
Application number
CN202010552307.8A
Other languages
English (en)
Other versions
CN111770029A (zh
Inventor
徐祖峰
丁小果
孙浩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jiangsu Taizhi Technology Co ltd
Original Assignee
Jiangsu Taizhi Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Jiangsu Taizhi Technology Co ltd filed Critical Jiangsu Taizhi Technology Co ltd
Priority to CN202010552307.8A priority Critical patent/CN111770029B/zh
Publication of CN111770029A publication Critical patent/CN111770029A/zh
Application granted granted Critical
Publication of CN111770029B publication Critical patent/CN111770029B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Abstract

本发明公开了一种基于RabbitMQ和ActiveMQ的动态队列转发方法,包括创建阶段、配置阶段和运行阶段,本发明实现运行时队列动态创建,同时支持数千条队列,每秒万条的RabbitMQ至ActiveMQ消息的来回传输,通过中间层,MQ之间的转发,缓解消息积压,支持千万级的消息积压而不宕机,缓解机台ActiveMQ的压力;(2)本发明通过中间层转发,为大数据单独开辟一个RabbitMQ集群,既解决了大数据采集数据的需求,又把大数据可能导致平台宕机的风险降到了0可以解决任何底层技术难题;目前工业领域机台通信大量使用ActiveMQ,使用本发明所述的方案可以有效缓解机台宕机次数,满足各种机台通信需求,可以用很低的成本实现现有机台通信系统的升级,提升生产效率。

Description

基于RabbitMQ和ActiveMQ的动态队列转发方法、系统及存储 介质
技术领域
本发明涉及队列转发技术领域,具体涉及一种基于RabbitMQ和ActiveMQ的动态队列转发方法。
背景技术
通常,在互联网环境中,业务可以具有不同的尺寸和传输速度。在这样的互联网环境中,使用队列管理器和调度技术来疏导各个业务流和有效地管理业务。
在互联网环境中,不同种类的内容越来越多,特别的,工业领域机台通信出现大量的数据。因此,网络上的数据拥塞逐渐增加。由于网络上有越来越多的数据拥塞,服务器发送的数据可能不能被正常地转发到客户端,并且一些数据可能在路径中丢失。目前解决拥塞的方式就是对消息及时的转发,具体采用Apache-camel路由协议,对ActiveMQ 引入一个中间件,配置一个XML,可以直接实现ActiveMQ到RabbitMQ的路由,来回传送消息。
但该方案存在一定的问题,包括:
1、Apache-camel现在已经不维护,因为ActiveMQ本身社区就很不活跃,导致填坑成本高昂。
2、Apache-camel的路由都是写死的,工业互联网领域机台变更平凡,要求队列动态创建,不能每次都重启消息队列,使得这个方案几乎不可行。
3、建设中的大数据平台要想同时消费机器采集数据存在风险,大数据平台随时都会停止消费,容易产生消息积压,导致宕机。
发明内容
发明目的:为了克服现有技术的不足,本发明提供一种基于RabbitMQ和ActiveMQ的动态队列转发方法,该方法可以解决大量数据来回传输出现积压以及机台容易宕机的问题,本发明还提供一种基于RabbitMQ和ActiveMQ的动态队列转发系统。
技术方案:本发明的一方面,提供基于RabbitMQ和ActiveMQ的动态队列转发方法,包括创建阶段、配置阶段和运行阶段;
所述创建阶段包括创建虚拟化的RabbitMQ消息队列集群、各个厂部对应的ActiveMQ消息队列集群以及mqcenter消息转发中心;
所述配置阶段包括:所述mqcenter消息转发中心初始化RabbitMQ消息队列集群,配置RabbitMQ消息队列集群中的节点负载均衡连接工厂,配置ActiveMQ消息队列集群的多连接,增加缓存机制,配置消息连接工厂发送确认,返回确认;
所述运行阶段包括:启动mqcenter消息转发中心,厂部生产者发送消息给ActiveMQ 消息队列集群,mqcenter消息转发中心接收到ActiveMQ消息队列集群的消息,转发给 RabbitMQ消息队列集群,消费者集群消费RabbitMQ消息队列集群传来的消息;消费者集群消费完毕后,通过其他的数据队列反馈消息给RabbitMQ消息队列集群,mqcenter 消息转发中心消费消费者发送过来的消息,根据消息的不同交换机转发给不同厂部的ActiveMQ消息队列集群。
进一步的,包括:
所述mqcenter消息转发中心包括四个监听容器,记为第一动态监听容器、第二动态监听容器、第一固定监听容器和第二固定监听容器,所述第一动态监听容器和第二动态监听容器分别连接所述RabbitMQ消息队列集群中的两个持久化节点,第一固定监听容器用于实现特殊队列顺序消息,第二固定监听容器用于负责定义通信队列,所述监听容器是指可以实时声明RabbitMQ消息队列,绑定队列到交换机,指定RabbitMQ消息队列的属性,指定可以监听哪些RabbitMQ消息队列发来的消息的JAVA容器类。
进一步的,包括:
所述第二固定监听容器还用于存储和处理私信队列的消息,其与所述消费者集群中的私信消费节点连接,当私信消息的场景被触发,则通过私信队列进行消费。
进一步的,包括:
所述私信消息的场景被触发的情形包括:
(1)单个消息队列积压的消息超过10万条,进入私信队列;
(2)消费者消费消息失败,防止循环消费同一个消息导致积压,将失败消息设置为发往私信队列;
(3)队列消息积压时间在十分钟以上,但是积压长度没到10万条,消息自动进入私信队列。
进一步的,包括:
所述消费者集群消费RabbitMQ消息队列集群传来的消息,若该消息中存在需要使用新增队列的,具体方法为:
由消费者在RabbitMQ消息队列集群中声明新队列,同时通过通信队列告知mqcenter消息转发中心要增加监听新的队列,mqcenter消费通信队列通过第二固定监听容器实时增加需要监听的队列。
进一步的,包括:
所述mqcenter消息转发中心采用动态日志打印,每个动态队列包括一组日志,且日志默认保留30天。
本发明还提供一种基于RabbitMQ和ActiveMQ的动态队列转发系统,包括:
包括虚拟化的RabbitMQ消息队列集群、各个厂部对应的ActiveMQ消息队列集群以及mqcenter消息转发中心;
启动mqcenter消息转发中心,厂部生产者发送消息给ActiveMQ消息队列集群,mqcenter消息转发中心接收到ActiveMQ消息队列集群的消息,转发给RabbitMQ消息队列集群,消费者集群消费RabbitMQ消息队列集群传来的消息;
当消费者集群消费完毕后,通过其他的数据队列反馈消息给RabbitMQ消息队列集群,mqcenter消息转发中心消费消费者发送过来的消息,根据消息的不同交换机转发给不同厂部的ActiveMQ消息队列集群。
本发明另外提供一种计算机存储介质,其上存储有计算机程序,所述计算机程序在被计算机处理器执行时实现所述的方法。
有益效果:(1)本发明实现运行时队列动态创建,同时支持数千条队列,每秒万条的RabbitMQ至ActiveMQ消息的来回传输,通过中间层,MQ之间的转发,缓解消息积压,支持千万级的消息积压而不宕机,缓解机台ActiveMQ的压力;(2)本发明通过中间层转发,为大数据单独开辟一个RabbitMQ集群,既解决了大数据采集数据的需求,又把大数据可能导致平台宕机的风险降到了0.Rabbitmq社区活跃,可以解决任何底层技术难题;(3)目前工业领域机台通信大量使用ActiveMQ,使用本发明所述的方案可以有效缓解机台宕机次数,满足各种机台通信需求,可以用很低的成本实现现有机台通信系统的升级,提升生产效率。
附图说明
图1为本发明实施例所述的方法流程图;
图2为本发明所述的运行阶段的方法流程图;
图3为本发明实施例所述的系统的结构示意图;
图4为本发明实施例所述的系统的各部件的工作原理图;
图5为本发明所述的电子设备结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,并不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
首先,介绍一些概念,ActiveMQ:apache基金会下开源MQ项目,基于JAVA实现,因为其能够发送回复消息,大量应用于工业机台通信。可以点对点通信,也可以TOPIC 广播,支持运行时动态创建队列,开发简单,接入成本低。但是ActiveMQ功能不够强大,吞吐量不够,发生消息积压时容易宕机。
Zookeeper:分布式框架,基于投票选举机制,实现了分布式CAP原则中的CP原则,确保各分布式机器可靠一致,是实现ActiveMQ集群的基础。
Docker:虚拟化技术,性能极好,运行稳定,可以实现任何系统或者中间件的镜像,部署方便,拥有自己的虚拟网络,同时支持桥接网桥,是实现RabbitMQ集群的基础。
RabbitMQ:曾经大量应用于金融领域,吞吐量每秒万级,功能非常丰富,支持私信队列,延迟队列,顺序队列,匿名广播队列,MQTT协议,收发消息确认,交换机不同模式转发,几乎可以实现工业互联网领域任何需求。基于docker组件的集群可以是单宿主机多节点集群,也可以是多宿主机swarm网络集群。集群节点负载均衡支持HA TCP4 层协议,也支持客户端负载均衡。节点种类包括disc ram可以根据使用场景灵活组合,最大化发挥机器性能。
参阅图1和2所示,本发明提供一种基于RabbitMQ和ActiveMQ的动态队列转发方法,包括创建阶段、配置阶段和运行阶段;
创建阶段包括创建虚拟化的RabbitMQ消息队列集群、各个厂部对应的ActiveMQ消息队列集群以及mqcenter消息转发中心;
RabbitMQ消息队列集群包含不同的节点,最少两个持久化的disk节点,记为第一持久化节点和第二持久化节点,一个内存ram节点。持久化节点用来满足突发宕机的数据备份,内存节点用来提升吞吐量,主要适用一些高并发可容忍丢失的消息。ActiveMQ 采用zookeeper分布式应用程序协调服务管理集群。
创建中间转发代理应用mq-center消息转发中心,实现rabbbitmq消息队列集群和ActiveMQ消息队列集群之间的相互通信。mq-center基于springcloud实现,采用微服务思想设计,多节点分布式,由Eurake注册中心管理,避免了单点故障。
mq-center消息转发中心至少包括两个动态监听容器和两个固定监听容器,其中的两个动态容器负责处理数据队列,实现RabbitMQ客户端负载,分别连接RabbitMQ消息队列集群的两个节点,连接的节点可为第一持久化节点与内存节点或第二持久化节点与内存节点,提升了RabbitMQ消息队列集群的吞吐量(多个节点负载吐吞量一定高于一个节点),另外两个固定监听容器一个负责实现顺序消息,另一个负责定义通信队列和处理私信队列,通信队列具体包括标识动态队列的增删以及固定消息队列。
动态监听容器是指可以实时声明RabbitMQ消息队列,绑定队列到交换机,指定RabbitMQ消息队列的属性,指定可以监听哪些RabbitMQ消息队列发来的消息的一个 JAVA容器类。mq-center可以实时声明RabbitMQ队列,动态指定监听哪些队列的消息,不再监听哪些队列的消息是通过动态监听容器来实现的。mq-center对哪些RabbitMQ队列的动态声明和监听是通过通信队列传来的消息确定的。
某厂部生产者发送消息给对应的ActiveMQ消息队列集群,mqcenter消息转发中心接收到ActiveMQ消息队列集群的消息,转发给RabbitMQ消息队列集群,消费者集群消费RabbitMQ消息队列集群传来的消息。
消息包含两部分内容:有效载荷(payload)和标签(label)。有效载荷就是你想要传输的数据。他可以是任何内容,一个JSON数组或者是你最喜欢的iguana Ziggy的 MPEG-4。RabbitMQ不会在意这些。标签就更有趣了。他描述了有效载荷,并且RabbitMQ 用他来决定谁将获得消息的拷贝。举例来说,不同于TCP协议的是,当你明确指定发送方和接收方时,AMQP只会用标签表述这条消息(一个交换器的名称和可选的主题标记),然后把消息交由Rabbit。Rabbit会根据标签把消息发送给感兴趣的接收方。这种通信方式是一种“发后即忘”(fire-and-forget)的单向方式,生产者会创建消息并设置标签。
配置阶段包括:所述mqcenter消息转发中心初始化RabbitMQ消息队列集群,配置RabbitMQ消息队列集群中的节点负载均衡连接工厂,配置ActiveMQ消息队列集群的多连接,增加缓存机制,配置消息连接工厂发送确认,返回确认;
运行阶段包括:启动mqcenter消息转发中心,厂部生产者发送消息给ActiveMQ消息队列集群,对应图4中的步骤1,mqcenter消息转发中心接收到ActiveMQ消息队列集群的消息,对应图4中的步骤2,转发给RabbitMQ消息队列集群,对应图4中的步骤3,消费者集群消费RabbitMQ消息队列集群传来的消息,对应图4中的步骤4;消费者集群消费完毕后,通过其他的数据队列反馈消息给RabbitMQ消息队列集群,对应图 4中的步骤7,mqcenter消息转发中心消费消费者发送过来的消息,对应图4中的步骤 8,根据消息的不同交换机转发给不同厂部的ActiveMQ消息队列集群,对应图4中的步骤9。
如图4中的步骤5和6,消费者消费消息,消息中存在需要使用新增队列的,由消费者在RabbitMQ消息队列集群中声明新队列,同时发送通信队列告知mqcenter消息转发中心要增加监听新的队列。mqcenter消费通信队列,通过第一或第二动态监听容器实时增加需要监听的队列。消费者消费完毕后,通过其他的数据队列反馈消息给RabbitMQ 消息队列集群,mqcenter消息转发中心消费消费者发送过来的消息,根据消息的不同交换机转发给不同厂部的ActiveMQ消息队列集群。
消息消费集群是真正消费厂部消息的业务应用,是多个节点,并发消费厂部消息,2 个普通消费节点,1个私信消费节点,每秒可消费3000条消息。2、个普通节点做常规消费,消息队列没有严重积压的化都会走常规消费。不走常规消息,私信消费节点会开启消费私信消息的场景有三种:1、消息队列发生严重积压,比如单个队列积压超过10 万条,消息就会走入私信队列;2、消费应用消费消息失败,为了防止循环消费同一个消息导致积压,将失败消息设置为发往私信队列;3、因为普通消费节点消费过慢,队列消息积压时间过长,但是积压长度没到10万条,消息自动进入私信队列。一般队列消息积压时间超过十分钟即为过长,消费应用里面也有一个第三点说的动态队列监听容器,只不过消费应用的监听容器不需要动态监听队列,需要动态声明队列。
动态监听容器采用多线程并发消费,提升吞吐量,固定监听容器增加私信机制,减少宕机风险。
本发明还提供一种基于RabbitMQ和ActiveMQ的动态队列转发系统,
包括:虚拟化的RabbitMQ消息队列集群、各个厂部对应的ActiveMQ消息队列集群以及mqcenter消息转发中心,本实施例厂部共设置为M个,M>1。
启动mqcenter消息转发中心,厂部生产者发送消息给ActiveMQ消息队列集群,mqcenter消息转发中心接收到ActiveMQ消息队列集群的消息,转发给RabbitMQ消息队列集群,消费者集群消费RabbitMQ消息队列集群传来的消息;
当消费者集群消费完毕后,通过其他的数据队列反馈消息给RabbitMQ消息队列集群,mqcenter消息转发中心消费消费者发送过来的消息,根据消息的不同交换机转发给不同厂部的ActiveMQ消息队列集群。如图3所示,consumer代表消费应用集群, RabbitMQ代表RabbitMQ消息队列,mqcenter代表消息转发,ActiveMQ代表ActiveMQ 消息队列,一个大方框代表一个集群。
参阅图5所示,本发明实施例中,一种电子设备结构示意图。
本发明实施例提供了一种电子设备,该电子设备可以包括处理器310(CenterProcessing Unit,CPU)、存储器320、输入设备330和输出设备340等,输入设备330 可以包括键盘、鼠标、触摸屏等,输出设备340可以包括显示设备,如液晶显示器 (Liquid CrystalDisplay,LCD)、阴极射线管(Cathode Ray Tube,CRT)等。
存储器320可以包括只读存储器(ROM)和随机存取存储器(RAM),并向处理器310提供存储器320中存储的程序指令和数据。在本发明实施例中,存储器320可以存储基于RabbitMQ和ActiveMQ的动态队列转发方法的程序。
处理器310通过调用存储器320存储的程序指令,处理器310用于按照获得的程序指令执行上述任一种基于RabbitMQ和ActiveMQ的动态队列转发方法的步骤。
基于上述实施例,本发明实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意方法实施例中的基于RabbitMQ和ActiveMQ的动态队列转发方法。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (8)

1.一种基于RabbitMQ和ActiveMQ的动态队列转发方法,其特征在于,包括创建阶段、配置阶段和运行阶段;
所述创建阶段包括创建虚拟化的RabbitMQ消息队列集群、各个厂部对应的ActiveMQ消息队列集群以及mqcenter消息转发中心;
所述配置阶段包括:所述mqcenter消息转发中心初始化RabbitMQ消息队列集群,配置RabbitMQ消息队列集群中的节点负载均衡连接工厂,配置ActiveMQ消息队列集群的多连接,增加缓存机制,配置消息连接工厂发送确认,返回确认;
所述运行阶段包括:启动mqcenter消息转发中心,厂部生产者发送消息给ActiveMQ消息队列集群,mqcenter消息转发中心接收到ActiveMQ消息队列集群的消息,转发给RabbitMQ消息队列集群,消费者集群消费RabbitMQ消息队列集群传来的消息;消费者集群消费完毕后,通过其他的数据队列反馈消息给RabbitMQ消息队列集群,mqcenter消息转发中心消费消费者发送过来的消息,根据消息的不同交换机转发给不同厂部的ActiveMQ消息队列集群。
2.根据权利要求1所述的基于RabbitMQ和ActiveMQ的动态队列转发方法,其特征在于,所述mqcenter消息转发中心包括四个监听容器,记为第一动态监听容器、第二动态监听容器、第一固定监听容器和第二固定监听容器,所述第一动态监听容器和第二动态监听容器分别连接所述RabbitMQ消息队列集群中的两个持久化节点,第一固定监听容器用于实现特殊队列顺序消息,第二固定监听容器用于负责定义通信队列,所述监听容器是指可以实时声明RabbitMQ消息队列,绑定队列到交换机,指定RabbitMQ消息队列的属性,指定可以监听哪些RabbitMQ消息队列发来的消息的JAVA容器类。
3.根据权利要求2所述的基于RabbitMQ和ActiveMQ的动态队列转发方法,其特征在于,所述第二固定监听容器还用于存储和处理私信队列的消息,其与所述消费者集群中的私信消费节点连接,当私信消息的场景被触发,则通过私信队列进行消费。
4.根据权利要求3所述的基于RabbitMQ和ActiveMQ的动态队列转发方法,其特征在于,所述私信消息的场景被触发的情形包括:
(1)单个消息队列积压的消息超过10万条,进入私信队列;
(2)消费者消费消息失败,防止循环消费同一个消息导致积压,将失败消息设置为发往私信队列;
(3)队列消息积压时间在十分钟以上,但是积压长度没到10万条,消息自动进入私信队列。
5.根据权利要求2所述的基于RabbitMQ和ActiveMQ的动态队列转发方法,其特征在于,所述消费者集群消费RabbitMQ消息队列集群传来的消息,若该消息中存在需要使用新增队列的,具体方法为:
由消费者在RabbitMQ消息队列集群中声明新队列,同时通过通信队列告知mqcenter消息转发中心要增加监听新的队列,mqcenter消费通信队列通过第二固定监听容器实时增加需要监听的队列。
6.根据权利要求1所述的基于RabbitMQ和ActiveMQ的动态队列转发方法,其特征在于,所述mqcenter消息转发中心采用动态日志打印,每个动态队列包括一组日志,且日志默认保留30天。
7.一种基于RabbitMQ和ActiveMQ的动态队列转发系统,其特征在于,包括虚拟化的RabbitMQ消息队列集群、各个厂部对应的ActiveMQ消息队列集群以及mqcenter消息转发中心;
启动mqcenter消息转发中心,厂部生产者发送消息给ActiveMQ消息队列集群,mqcenter消息转发中心接收到ActiveMQ消息队列集群的消息,转发给RabbitMQ消息队列集群,消费者集群消费RabbitMQ消息队列集群传来的消息;
当消费者集群消费完毕后,通过其他的数据队列反馈消息给RabbitMQ消息队列集群,mqcenter消息转发中心消费消费者发送过来的消息,根据消息的不同交换机转发给不同厂部的ActiveMQ消息队列集群。
8.一种计算机存储介质,其上存储有计算机程序,其特征在于:所述计算机程序在被计算机处理器执行时实现权利要求1至6任一项所述的方法。
CN202010552307.8A 2020-06-17 2020-06-17 基于RabbitMQ和ActiveMQ的动态队列转发方法、系统及存储介质 Active CN111770029B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010552307.8A CN111770029B (zh) 2020-06-17 2020-06-17 基于RabbitMQ和ActiveMQ的动态队列转发方法、系统及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010552307.8A CN111770029B (zh) 2020-06-17 2020-06-17 基于RabbitMQ和ActiveMQ的动态队列转发方法、系统及存储介质

Publications (2)

Publication Number Publication Date
CN111770029A CN111770029A (zh) 2020-10-13
CN111770029B true CN111770029B (zh) 2022-06-03

Family

ID=72722661

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010552307.8A Active CN111770029B (zh) 2020-06-17 2020-06-17 基于RabbitMQ和ActiveMQ的动态队列转发方法、系统及存储介质

Country Status (1)

Country Link
CN (1) CN111770029B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112527519A (zh) * 2020-11-26 2021-03-19 福州智象信息技术有限公司 一种高性能本地缓存方法、系统、设备及介质
CN113626210B (zh) * 2021-06-25 2022-11-15 云南电网有限责任公司 一种电网运行风险预警信息流转方法及存储系统
CN114119019B (zh) * 2021-11-26 2024-03-12 跨境银行间支付清算有限责任公司 基于跨境支付系统的多渠道接入方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105868033A (zh) * 2016-04-06 2016-08-17 江苏物联网研究发展中心 基于Redis实现优先级消息队列的方法及系统
CN109542638A (zh) * 2018-10-26 2019-03-29 深圳点猫科技有限公司 一种基于教育系统的文件处理方法及装置
CN110300067A (zh) * 2019-06-26 2019-10-01 深圳前海微众银行股份有限公司 队列调整方法、装置、设备及计算机可读存储介质
US10609206B1 (en) * 2017-07-15 2020-03-31 Sprint Communications Company L.P. Auto-repairing mobile communication device data streaming architecture

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105868033A (zh) * 2016-04-06 2016-08-17 江苏物联网研究发展中心 基于Redis实现优先级消息队列的方法及系统
US10609206B1 (en) * 2017-07-15 2020-03-31 Sprint Communications Company L.P. Auto-repairing mobile communication device data streaming architecture
CN109542638A (zh) * 2018-10-26 2019-03-29 深圳点猫科技有限公司 一种基于教育系统的文件处理方法及装置
CN110300067A (zh) * 2019-06-26 2019-10-01 深圳前海微众银行股份有限公司 队列调整方法、装置、设备及计算机可读存储介质

Also Published As

Publication number Publication date
CN111770029A (zh) 2020-10-13

Similar Documents

Publication Publication Date Title
CN111770029B (zh) 基于RabbitMQ和ActiveMQ的动态队列转发方法、系统及存储介质
US8606859B2 (en) Method and system to communicate messages in a computer network
US8584136B2 (en) Context-aware request dispatching in clustered environments
CN106921754B (zh) 集群系统的负载均衡方法、装置、介质和电子设备
Tran et al. Eqs: An elastic and scalable message queue for the cloud
US20100241717A1 (en) Message Brokering in a Consuming Broker Device
US8336050B2 (en) Shared memory inter-process communication of virtual machines using virtual synchrony
US8135785B2 (en) System and method for processing messages using pluggable protocol processors in a service-oriented pipeline architecture
US20140181252A1 (en) Request and response decoupling via pluggable transports in a service oriented pipeline architecture for a request response message exchange
CN110278161B (zh) 基于用户态协议栈的报文分流方法、装置及系统
CN113452774B (zh) 消息推送方法、装置、设备及存储介质
CN114710571B (zh) 数据包处理系统
CN113626211A (zh) 消息队列的切换方法、切换系统、电子设备及存储介质
CN113971098A (zh) 一种RabbitMQ消费管理方法及系统
CN111049915B (zh) 一种容器云下消息队列代理系统及方法
CN110913018A (zh) 一种分布式调控服务系统
Hegde et al. Low latency message brokers
CN109101340B (zh) 弹幕消息的动态分发方法、装置、设备和存储介质
US20100250684A1 (en) High availability method and apparatus for shared resources
CN108076111B (zh) 一种在大数据平台中分发数据的系统及方法
CN113259408B (zh) 数据传输方法和系统
US10896077B2 (en) Messaging abstraction layer for integration with message oriented middleware platforms
CN110247808B (zh) 信息发送方法、装置、设备及可读存储介质
Byun et al. DynaGrid: A dynamic service deployment and resource migration framework for WSRF-compliant applications
US20220083387A1 (en) Context aware distribution of computing

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: 210012 room 601-610, building 7, No. 57, Andemen street, Yuhuatai District, Nanjing, Jiangsu Province

Applicant after: Jiangsu Taizhi Technology Co.,Ltd.

Address before: 210012 room 210-212, Huashen building, No. 11, software Avenue, Yuhuatai District, Nanjing City, Jiangsu Province

Applicant before: NANJING TAIZHI AUTOMATION TECHNOLOGY CO.,LTD.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant