CN110224922A - 一种基于RabbitMQ的异步消息重试方法、系统及系统构建方法 - Google Patents
一种基于RabbitMQ的异步消息重试方法、系统及系统构建方法 Download PDFInfo
- Publication number
- CN110224922A CN110224922A CN201910423799.8A CN201910423799A CN110224922A CN 110224922 A CN110224922 A CN 110224922A CN 201910423799 A CN201910423799 A CN 201910423799A CN 110224922 A CN110224922 A CN 110224922A
- Authority
- CN
- China
- Prior art keywords
- message
- queue
- exchange
- retries
- dilivery
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/07—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
- H04L51/18—Commands or executable codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/21—Monitoring or handling of messages
- H04L51/23—Reliability checks, e.g. acknowledgments or fault reporting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/21—Monitoring or handling of messages
- H04L51/234—Monitoring or handling of messages for tracking messages
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种基于RabbitMQ的异步消息重试方法、系统及系统构建方法,系统构建方法包括:配置交换的步骤、配置队列的步骤和将队列绑定到交换的步骤,通过该方法即可构建出系统。消息重试方法包括:在正常消息消费过程中,对处理失败的消息进行有限次重试的步骤,和对超出重试次数的消息进行人工处理的步骤;其中对消息的重试设置有延时机制,延时机制基于对消息设定的过期时间。本发明可对消费失败的消息自动进行分流重试,可避免对进程的影响和对系统资源的长期占用,所设置的人工介入处理可以确保消息的可靠消费。本发明可以设置消息的重试间隔,提高系统灵活性。
Description
技术领域
本发明涉及异步通信领域,尤其是一种基于RabbitMQ的消息重试系统的构建方法、基于该构建方法所构建的消息重试系统,以及基于该消息重试系统的异步消息重试方法。
背景技术
RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息中间件。通过客户端与RabbitMQ之间传递消息来进行不同进程Process/线程Thread之间的通信。这些客户端分为两类:Producer负责将消息发送到中间件;而Consumer负责从中间件取出消息并且处理该消息。在消息处理的过程中,由于业务逻辑错误,网络故障等原因导致处理任务失败。我们期望在消息消费异常时,自动延时将消息重试。目前基于RabbitMQ的实现方式主要有以下两种:
1.人工审核处理。消息消费异常时,Consumer记录详细信息到日志后立即ACK。后续人工查询日志并处理。它的缺点很明显,几乎没有自动重试逻辑,过多人工介入将造成高延迟、高成本。
2.Reject处理异常的消息。消息消费异常时,Consumer立即(或者hold住当前线程一段时间后)Reject该消息,消息中间件会将该消息重新放入队列里再消费。这种方式主要有以下两个问题:a.如果根本无法处理此消息,则可能导致无限循环;b.如果hold住当前线程,将大大降低Consumer的处理能力,如果立即reject,那么队列为空时将在消息被拒绝后立即处理该消息,非常高的重试的频率将导致资源严重浪费。
发明内容
本发明的发明目的在于:针对上述存在的问题,提供一种基于消息转发机制自动完成消息重试的方案,从而通过低复杂度的重试机制和简单的系统架构,实现可靠的消息消费。
本发明采用的技术方案如下:
一种基于RabbitMQ的消息重试系统的构建方法,其包括以下步骤:
A.分别创建第一交换、第二交换和第三交换,其中,发布的消息投递到第一交换,处理异常的消息投递到第二交换,处理失败的消息投递到第三交换;
B.分别创建第一队列、第二队列和第三队列,其中,第一队列用于存放发布的消息,第二队列用于存放处理异常的消息,第三队列用于存放处理失败的消息;
C.将第一队列绑定到第一交换,将第二队列绑定到第二交换,设置第二队列匹配所有路由匙,将第三队列绑定到第三交换,设置第三队列的路由匙匹配于对应的第三队列。
通过上述方法,可以构建出对消费失败的消息的自动分流、重试的系统,系统复杂度低,构建方法简单,通过三个交换和对应队列的配合,可使实现线程的分离,进而提高进程的处理效率,大幅提高系统的工作效率,避免了在消息处理失败时导致的系统资源的浪费。
进一步的,上述处理异常的消息是指重试次数未超过预定上限次数的消息,所述处理失败的消息是指重试次数超过所述预定上限次数的消息。
该设计可以避免无法处理的消息被无线循环处理,通过设计合理的门限,即可权衡对消息的处理成功率和系统开销。
本发明提供了一种基于RabbitMQ的消息重试系统,其由上述基于RabbitMQ的消息重试系统的构建方法构建而成。
本发明提供了一种基于上述基于RabbitMQ的消息重试系统的异步消息重试方法,其包括以下步骤:
S1.生产者发布消息到第一交换;
S2.所述第一交换根据路由匙将消息分发到对应的第一队列;
S3.消费者对所述第一队列中的消息进行消费;
S4.消息消费后,消费者向第一队列反馈处理成功与否,如果处理成功则结束流程,否则执行以下步骤;
S5.获取消息的重试次数,判断其是否超过设定的预定上限次数,若是,则执行步骤S7,否则,将消息投递到第二交换,第二交换的路由匙等于消息对应的第一队列的队列名字;
S6.第二队列在执行延时设定后,重新将消息投递到队列名字为消息对应路由匙的第一队列中;
S7.将消息投递给第三交换的第三队列待人工处理。
通过上述方法,可以自动将处理失败的消息分离出来,在不影响整个进程执行的基础上,保证消息处理的可靠性。本方法通过设定重试次数,可以避免无法处理的消息长期占用系统资源,同时平衡消息重试成功了和系统开销,大幅提高客户端对消息的处理能力。
进一步的,上述人工处理后,还包括:
S8.待人工介入处理第三队列中的消息后,重新将消息投递到第一队列,即可将消息重新消费。
将消息投递到第一队列而非第一交换,可以避免造成部分队列消息的重复消费。
进一步的,上述S6中的延时设定具体为:等待消息过期。
因消息自身会携带时间信息,通过判断消息的时间是否过期的方式即可实现延时,较设定计时器的方式,可以降低延时机制的复杂度,提高运行的稳定性。同时,针对不同的消息,也便于设定对应的延时时间,使得方法对消息的重试具有针对性,提高了方法的灵活度。
进一步的,上述消息的过期时间设定点为:在S5中将消息投递到第二交换前设定。
进一步的,上述过期时间等于当前重试间隔。
进一步的,上述S7中,将消息投递给第三交换的第三队列时或之后,触发报警机制,以通知相关责任人进行人工处理。报警机制的设定,对于消息重试的执行具有极高的及时性,尤其适用于具有高时效性要求的场景。
进一步的,上述S6具体为:第二队列在执行延时设定后,将消息投递到默认交换,默认交换再将消息重新投递到队列名字为消息附带路由匙的第一队列中。
综上所述,由于采用了上述技术方案,本发明的有益效果是:
1、本发明基于消息中转的方式,通过在主进程上设置分线程对消息进行重传的方式,可以保证主进程执行的效率,提高消息处理的完整性。
2、本发明的系统或方法中,可设置消息的重试次数,进而避免无法处理的消息一直占用系统资源,影响进程,也可以平衡消息处理的完整度和系统开销。所设置的人工介入处理可以确保消息的可靠消费。
3、本发明可以灵活地设置消息的重试间隔,提高了对于所重试消息的针对性和系统的灵活性。
4、本发明中,RabbitMQ的一个虚拟主机只需要一个重试交换和一个重试队列即可实现所有主队列的消息重试,降低维护成本。
附图说明
本发明将通过例子并参照附图的方式说明,其中:
图1是异步消息重试方法的流程图。
具体实施方式
本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。
本说明书(包括任何附加权利要求、摘要)中公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。
实施例一
一种基于RabbitMQ的消息重试系统的构建方法,其包括以下步骤:
1、创建exchange(交换):
work exchange(主交换):主exchange,发布消息时发布到该exchange,根据业务需要创建多个。
retry exchange(重试交换):重试exchange,消息处理异常时(最大重试次数以内),将消息重新投递给该exchange,一个virtual host(虚拟主机)创建一个。
fail exchange(失败交换):失败exchange,超过最大重试次数后,将消息投递给该exchange,为了保持业务隔离性,和work exchange保持一致。
所有的exchange声明都使用以下参数:
2、创建queue:
work queue:主队列,存放发布的消息。声明参数如下:
retry queue:重试队列,存放重试次数未到最大重试次数的消息。参数如下:
fail queue:失败队列,存放重试超过最大重试次数的消息,与work queue保持对应。参数如下:
3、绑定queue到exchange:
work queue:绑定到work exchange。
retry queue:绑定到retry exchange。routing-key(路由匙)为“#”,表示匹配所有的routing-key。
fail queue:绑定到fail exchange。routing-key与对应的work queue绑定时用的routing-key相同。
实施例二
本实施例公开了一种基于Rabbi tMQ的消息重试系统,其由上述实施例的基于Rabbi tMQ的消息重试系统的构建方法构建而成。
实施例三
如图1所示,本实施例公开了一种基于上述实施例的基于RabbitMQ的消息重试系统的异步消息重试方法,其包括以下步骤:
1.生产者发布消息到work exchange。
2.work exchange根据routing-key将消息分发到对应的消息队列。
3.多个消费者实际中同时对主队列中的消息进行消费。因此他们之间采用“竞争”的方式来争取消息的消费。
4.消息消费后,不管成功失败,消费者都要返回ACK消费确认给队列,避免消息重复投递。同时,如果处理成功则结束流程,否则进入重试阶段。
5.从消息的header(头文件)中获取重试次数x-retry-count(如果没有改参数则设置默认值0),如果小于设定的最大重试次数(max-try-count),则设置消息的过期时间(expiration)为当前重试间隔,并将header中的x-retry-count加1,然后将消息投递到retry exchange,routing-key等于消息对应的work queue的队列名字。
6.重试队列不需要消费者直接订阅,它会等待消息的有效时间过期后,重新将消息投递到x-dead-letter-exchange,我们在这里设置它为default exchange(默认交换)。default exchange会根据消息附带的routing-key(第5步中设置成等于work queue的队列名字)重新投递消息到队列名字等于routing-key的work queue中。这样就实现了延时后消息的重新消费。
7.如果重试次数超过设定的最大重试次数,则认为消息无法被处理,直接将消息投递给fail exchange的fail queue,这时候触发报警机制,以通知相关责任人处理。
8.等待人工介入处理后,重新将消息投递到work queue,注意不能投递到workexchange,因为可能会造成部分队列的消息重复消费。这样就可以重新消费了。
实施例四
本实施例公开了一种基于Rabbi tMQ的异步消息重试方法,其包括以下步骤:
1、创建exchange(交换):
work exchange(主交换):主exchange,发布消息时发布到该exchange,根据业务需要创建多个。
retry exchange(重试交换):重试exchange,消息处理异常时(最大重试次数以内),将消息重新投递给该exchange,一个virtual host(虚拟主机)创建一个。
fail exchange(失败交换):失败exchange,超过最大重试次数后,将消息投递给该exchange,为了保持业务隔离性,和work exchange保持一致。
所有的exchange声明都使用以下参数:
2、创建queue:
work queue:主队列,存放发布的消息。声明参数如下:
retry queue:重试队列,存放重试次数未到最大重试次数的消息。参数如下:
fail queue:失败队列,存放重试超过最大重试次数的消息,与work queue保持对应。参数如下:
3、绑定queue到exchange:
work queue:绑定到work exchange。
retry queue:绑定到retry exchange。routing-key(路由匙,为消息传递的路由)为“#”,表示匹配所有的routing-key。
fail queue:绑定到fail exchange。routing-key与对应的work queue绑定时用的routing-key相同。
4、消息的处理流程如图1所示。说明如下:
1.生产者发布消息到work exchange。
2.work exchange根据routing-key将消息分发到对应的消息队列。
3.多个消费者实例同时对主队列中的消息进行消费。因此他们之间采用“竞争”的方式来争取消息的消费。
4.消息消费后,不管成功失败,消费者都要返回ACK消费确认给队列,避免消息重复投递。同时,如果处理成功则结束流程,否则进入重试阶段。
5.从消息的header(头文件)中获取重试次数x-retry-count(如果没有改参数则设置默认值0),如果小于设定的最大重试次数(max-try-count),则设置消息的过期时间(expiration)为当前重试间隔,并将header中的x-retry-count加1,然后将消息投递到retry exchange,routing-key等于消息对应的work queue的队列名字。
6.重试队列不需要消费者直接订阅,它会等待消息的有效时间过期后,重新将消息投递到x-dead-letter-exchange,我们在这里设置它为default exchange(默认交换)。default exchange会根据消息附带的routing-key(第5步中设置成等于work queue的队列名字)重新投递消息到队列名字等于routing-key的work queue中。这样就实现了延时后消息的重新消费。
7.如果重试次数超过设定的最大重试次数,则认为消息无法被处理,直接将消息投递给fail exchange的fail queue,这时候触发报警机制,以通知相关责任人处理。
8.等待人工介入处理后,重新将消息投递到work queue,注意不能投递到workexchange,因为可能会造成部分队列的消息重复消费。这样就可以重新消费了。
本发明并不局限于前述的具体实施方式。本发明扩展到任何在本说明书中披露的新特征或任何新的组合,以及披露的任一新的方法或过程的步骤或任何新的组合。
Claims (10)
1.一种基于RabbitMQ的消息重试系统的构建方法,其特征在于,包括以下步骤:
A.分别创建第一交换、第二交换和第三交换,其中,发布的消息投递到第一交换,处理异常的消息投递到第二交换,处理失败的消息投递到第三交换;
B.分别创建第一队列、第二队列和第三队列,其中,第一队列用于存放发布的消息,第二队列用于存放处理异常的消息,第三队列用于存放处理失败的消息;
C.将第一队列绑定到第一交换,将第二队列绑定到第二交换,设置第二队列匹配所有路由匙,将第三队列绑定到第三交换,设置第三队列的路由匙匹配于对应的第三队列。
2.如权利要求1所述的基于RabbitMQ的消息重试系统的构建方法,其特征在于,所述处理异常的消息是指重试次数未超过预定上限次数的消息,所述处理失败的消息是指重试次数超过所述预定上限次数的消息。
3.一种基于RabbitMQ的消息重试系统,其特征在于,其由如权利要求2所述的基于RabbitMQ的消息重试系统的构建方法构建而成。
4.一种基于权利要求3所述的基于RabbitMQ的消息重试系统的异步消息重试方法,其特征在于,其包括以下步骤:
S1.生产者发布消息到第一交换;
S2.所述第一交换根据路由匙将消息分发到对应的第一队列;
S3.消费者对所述第一队列中的消息进行消费;
S4.消息消费后,消费者向第一队列反馈处理成功与否,如果处理成功则结束流程,否则执行以下步骤;
S5.获取消息的重试次数,判断其是否超过设定的预定上限次数,若是,则执行步骤S7,否则,将消息投递到第二交换,第二交换的路由匙等于消息对应的第一队列的队列名字;
S6.第二队列在执行延时设定后,重新将消息投递到队列名字为消息对应路由匙的第一队列中;
S7.将消息投递给第三交换的第三队列待人工处理。
5.如权利要求4所述的异步消息重试方法,其特征在于,所述人工处理后,还包括:
S8.待人工介入处理第三队列中的消息后,重新将消息投递到第一队列,即可将消息重新消费。
6.如权利要求4或5所述的异步消息重试方法,其特征在于,所述S6中的延时设定具体为:等待消息过期。
7.如权利要求6所述的异步消息重试方法,其特征在于,所述消息的过期时间设定点为:在S5中将消息投递到第二交换前设定。
8.如权利要求7所述的异步消息重试方法,其特征在于,所述过期时间等于当前重试间隔。
9.如权利要求4、5、7、8之一所述的异步消息重试方法,其特征在于,所述S7中,将消息投递给第三交换的第三队列时或之后,触发报警机制,以通知相关责任人进行人工处理。
10.如权利要求4、5、7、8之一所述的异步消息重试方法,其特征在于,所述S6具体为:第二队列在执行延时设定后,将消息投递到默认交换,默认交换再将消息重新投递到队列名字为消息附带路由匙的第一队列中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910423799.8A CN110224922B (zh) | 2019-05-21 | 2019-05-21 | 一种基于RabbitMQ的异步消息重试方法、系统及系统构建方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910423799.8A CN110224922B (zh) | 2019-05-21 | 2019-05-21 | 一种基于RabbitMQ的异步消息重试方法、系统及系统构建方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110224922A true CN110224922A (zh) | 2019-09-10 |
CN110224922B CN110224922B (zh) | 2022-04-19 |
Family
ID=67821407
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910423799.8A Active CN110224922B (zh) | 2019-05-21 | 2019-05-21 | 一种基于RabbitMQ的异步消息重试方法、系统及系统构建方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110224922B (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111049730A (zh) * | 2019-12-05 | 2020-04-21 | 紫光云(南京)数字技术有限公司 | RabbitMQ消息重传及消费方幂等性解决方法 |
CN111258776A (zh) * | 2020-01-09 | 2020-06-09 | 上海钧正网络科技有限公司 | 一种服务远程调用的容灾方法及设备 |
CN111429256A (zh) * | 2020-03-19 | 2020-07-17 | 重庆富民银行股份有限公司 | 一种风控判断过程中的界面展示方法及系统 |
CN112256461A (zh) * | 2020-12-08 | 2021-01-22 | 万邑通商(北京)信息科技有限公司 | 一种基于多云环境的分布式消息系统及管理方法 |
CN112437001A (zh) * | 2020-11-16 | 2021-03-02 | 深圳壹账通智能科技有限公司 | 保证消息可靠性投递与消费方法、装置 |
CN112468598A (zh) * | 2020-12-11 | 2021-03-09 | 四川长虹电器股份有限公司 | 一种基于amqp协议实现消息补偿推送的方法 |
CN112988428A (zh) * | 2021-04-26 | 2021-06-18 | 南京蜂泰互联网科技有限公司 | 分布式消息异步通知中间件实现方法及系统 |
CN113064736A (zh) * | 2021-03-19 | 2021-07-02 | 北京房江湖科技有限公司 | 消息处理系统、方法、装置、电子设备和存储介质 |
CN113641521A (zh) * | 2021-10-18 | 2021-11-12 | 深圳美云集网络科技有限责任公司 | 数据处理方法、装置、存储介质及电子设备 |
CN114024901A (zh) * | 2022-01-05 | 2022-02-08 | 中邮消费金融有限公司 | 一种消息隔离转发方法及系统 |
CN115328680A (zh) * | 2022-09-28 | 2022-11-11 | 天津卓朗昆仑云软件技术有限公司 | 消息队列消费异常的辅助方法、装置和电子设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060112225A1 (en) * | 2004-02-05 | 2006-05-25 | Sachiko Hoshino | Storage subsystem and storage subsystem control method |
CN105512244A (zh) * | 2015-11-30 | 2016-04-20 | 北京京东尚科信息技术有限公司 | 基于消息队列实现数据库事务处理的方法及装置 |
CN106250250A (zh) * | 2016-08-09 | 2016-12-21 | 广州唯品会信息科技有限公司 | 数据通信方法及装置 |
CN107896172A (zh) * | 2017-11-24 | 2018-04-10 | 泰康保险集团股份有限公司 | 监听故障处理方法及装置、存储介质和电子设备 |
US20180375783A1 (en) * | 2017-06-27 | 2018-12-27 | Atlassian Pty Ltd | Retry handling in messaging queues |
CN109245935A (zh) * | 2018-09-27 | 2019-01-18 | 福建天泉教育科技有限公司 | 一种消息队列异常的处理方法及终端 |
CN109471710A (zh) * | 2018-10-25 | 2019-03-15 | 网易(杭州)网络有限公司 | 任务请求的处理方法、装置、处理器、终端及服务器 |
-
2019
- 2019-05-21 CN CN201910423799.8A patent/CN110224922B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060112225A1 (en) * | 2004-02-05 | 2006-05-25 | Sachiko Hoshino | Storage subsystem and storage subsystem control method |
CN105512244A (zh) * | 2015-11-30 | 2016-04-20 | 北京京东尚科信息技术有限公司 | 基于消息队列实现数据库事务处理的方法及装置 |
CN106250250A (zh) * | 2016-08-09 | 2016-12-21 | 广州唯品会信息科技有限公司 | 数据通信方法及装置 |
US20180375783A1 (en) * | 2017-06-27 | 2018-12-27 | Atlassian Pty Ltd | Retry handling in messaging queues |
CN107896172A (zh) * | 2017-11-24 | 2018-04-10 | 泰康保险集团股份有限公司 | 监听故障处理方法及装置、存储介质和电子设备 |
CN109245935A (zh) * | 2018-09-27 | 2019-01-18 | 福建天泉教育科技有限公司 | 一种消息队列异常的处理方法及终端 |
CN109471710A (zh) * | 2018-10-25 | 2019-03-15 | 网易(杭州)网络有限公司 | 任务请求的处理方法、装置、处理器、终端及服务器 |
Non-Patent Citations (2)
Title |
---|
陈培英等: "多媒体通信技术的关键技术分析", 《现代通信技术理论与实践创新研究》 * |
骆文亮: "基于异步消息处理的RabbitMQ运行原理探讨", 《数码世界》 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111049730A (zh) * | 2019-12-05 | 2020-04-21 | 紫光云(南京)数字技术有限公司 | RabbitMQ消息重传及消费方幂等性解决方法 |
CN111258776A (zh) * | 2020-01-09 | 2020-06-09 | 上海钧正网络科技有限公司 | 一种服务远程调用的容灾方法及设备 |
CN111429256A (zh) * | 2020-03-19 | 2020-07-17 | 重庆富民银行股份有限公司 | 一种风控判断过程中的界面展示方法及系统 |
CN112437001A (zh) * | 2020-11-16 | 2021-03-02 | 深圳壹账通智能科技有限公司 | 保证消息可靠性投递与消费方法、装置 |
CN112256461A (zh) * | 2020-12-08 | 2021-01-22 | 万邑通商(北京)信息科技有限公司 | 一种基于多云环境的分布式消息系统及管理方法 |
CN112468598A (zh) * | 2020-12-11 | 2021-03-09 | 四川长虹电器股份有限公司 | 一种基于amqp协议实现消息补偿推送的方法 |
CN113064736A (zh) * | 2021-03-19 | 2021-07-02 | 北京房江湖科技有限公司 | 消息处理系统、方法、装置、电子设备和存储介质 |
CN112988428A (zh) * | 2021-04-26 | 2021-06-18 | 南京蜂泰互联网科技有限公司 | 分布式消息异步通知中间件实现方法及系统 |
CN113641521A (zh) * | 2021-10-18 | 2021-11-12 | 深圳美云集网络科技有限责任公司 | 数据处理方法、装置、存储介质及电子设备 |
CN114024901A (zh) * | 2022-01-05 | 2022-02-08 | 中邮消费金融有限公司 | 一种消息隔离转发方法及系统 |
CN115328680A (zh) * | 2022-09-28 | 2022-11-11 | 天津卓朗昆仑云软件技术有限公司 | 消息队列消费异常的辅助方法、装置和电子设备 |
CN115328680B (zh) * | 2022-09-28 | 2023-01-31 | 天津卓朗昆仑云软件技术有限公司 | 消息队列消费异常的辅助方法、装置和电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN110224922B (zh) | 2022-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110224922A (zh) | 一种基于RabbitMQ的异步消息重试方法、系统及系统构建方法 | |
US6338091B1 (en) | System for optimistic transmission flow control including receiver data discards upon inadequate buffering condition | |
CN107070613B (zh) | 分布式网络环境下数据可靠传输方法 | |
US8774203B2 (en) | One-way message notification with out-of-order packet delivery | |
CN100401791C (zh) | 数据网络节点及交换协议数据单元的方法 | |
CN103905300B (zh) | 一种数据报文发送方法、设备及系统 | |
US4818984A (en) | Broadcasting messages in a distributed processing system | |
CN105933369B (zh) | 一种消息转发方法及设备 | |
EP2001152B1 (en) | Reliable message transport network | |
JPH02158858A (ja) | メツセージ転送機構 | |
US10880778B2 (en) | Message cache management in a mesh network | |
CN105827697A (zh) | 用户离线检测方法和用户离线检测系统 | |
WO2011100878A1 (zh) | 交换网流控实现方法、交换设备及系统 | |
CN106878197A (zh) | 一种云平台消息传输的管理系统及方法 | |
JP4767336B2 (ja) | メールサーバシステム及び輻輳制御方法 | |
CN103701721B (zh) | 报文传输方法及装置 | |
US20130024541A1 (en) | Sending request messages to nodes indicated as unresolved | |
CN107682265B (zh) | 支付系统的报文路由方法及装置 | |
US20050190795A1 (en) | Method and allocation device for allocating pending requests for data packet transmission at a number of inputs to a number of outputs of a packet switching device in successive time slots | |
US8441953B1 (en) | Reordering with fast time out | |
JP2757482B2 (ja) | プロセッサ間通信システム | |
JP6249156B2 (ja) | プル型ネットワーク中継装置、及びネットワーク中継方法 | |
CN117041197A (zh) | 一种message报文防同类逃逸调度电路的实现方法 | |
JP2003141094A (ja) | プロセッサ間データ通信装置 | |
KR20230051024A (ko) | 개방형 무선 액세스 네트워크의 대용량 데이터 처리를 위한 전자 장치 및 그 동작 방법 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |