CN110647416B - 一种消息队列跟踪记录方法及系统 - Google Patents
一种消息队列跟踪记录方法及系统 Download PDFInfo
- Publication number
- CN110647416B CN110647416B CN201910813164.9A CN201910813164A CN110647416B CN 110647416 B CN110647416 B CN 110647416B CN 201910813164 A CN201910813164 A CN 201910813164A CN 110647416 B CN110647416 B CN 110647416B
- Authority
- CN
- China
- Prior art keywords
- message
- service
- monitoring
- server
- processor
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 26
- 238000012544 monitoring process Methods 0.000 claims abstract description 162
- 238000004519 manufacturing process Methods 0.000 claims abstract description 56
- 230000002159 abnormal effect Effects 0.000 claims abstract description 34
- 238000003860 storage Methods 0.000 claims abstract description 17
- 230000008569 process Effects 0.000 claims abstract description 8
- 238000004590 computer program Methods 0.000 claims description 30
- 238000012545 processing Methods 0.000 claims description 7
- 230000005856 abnormality Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000002360 preparation method Methods 0.000 description 3
- 238000003672 processing method Methods 0.000 description 3
- 230000008439 repair process Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0709—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/079—Root cause analysis, i.e. error or fault diagnosis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/548—Queue
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Computer Hardware Design (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种消息队列跟踪记录方法及系统,第一服务端同时发送服务消息、消息ID以及生产监控消息,生产监控消息包括消息ID以及第一服务端的服务名称;RabbitMQ接收服务消息、消息ID以及生产监控消息,将服务消息和消息ID发送至第二服务端,将生产监控消息发送至消息监控服务端进行存储;第二服务端接收服务消息和消息ID,对服务消息进行处理并生成消费监控消息,将消费监控信息返回至RabbitMQ,消费监控消息包括消息ID、第二服务端的服务名称以及是否异常;RabbitMQ将消费监控消息发送至消息监控服务端进行存储;本发明在出现异常时,通过消息ID,查出该消息都先后传递到了哪些服务核心,是否有出现异常,从而对异常进行快速定位。
Description
技术领域
本发明涉及软件技术领域,特别涉及一种消息队列跟踪记录方法及系统。
背景技术
Spring框架是一个开源的Java平台,它为容易而快速的开发出耐用的Java应用程序提供了全面的基础设施。微服务架构是一种架构模式,它将单体应用划分成一组微小的服务,各服务之间使用轻量级的通信机制交互。在微服务架构内,常用的异步通信方式是消息队列。其中,两个服务之间进行消息通信时,通常采用RabbitMQ作为消息队列中间件来进行消息的传递。比如第一服务核心作为消息生产者发送一个消息,由RabbitMQ将这个消息传递给第二服务核心。
这种异步通信方式,在服务核心数量较少的时候,若消息传递出现问题,会比较容易定位,从而找出问题出处。而当服务核心的数量渐渐增加,消息传递链开始变长变复杂。比如n个第一服务核心发送给第一RabbitMQ,由第一RabbitMQ发送给第n+1服务核心,第二服务核心继续发送给第二RabbitMQ,由第二RabbitMQ发送给第n+2服务核心,以此类推。即在进行多次的消息传递,若是每一次出现问题,开发人员都没有办法直接定位到是哪个服务核心出现的错误。只能进行逐一排查,这个过程花费的时间成本高,甚至某些核心服务由他人进行开发,还需要沟通成本。
发明内容
本发明所要解决的技术问题是:提供一种消息队列跟踪记录方法及系统,能够对异常进行快速定位。
为了解决上述技术问题,本发明采用的技术方案为:
一种消息队列跟踪记录方法,包括步骤:
S1、第一服务端同时发送服务消息、消息ID以及生产监控消息,所述生产监控消息包括消息ID以及第一服务端的服务名称;
S2、RabbitMQ接收所述服务消息、所述消息ID以及所述生产监控消息,将所述服务消息和所述消息ID发送至第二服务端,将所述生产监控消息发送至消息监控服务端进行存储;
S3、第二服务端接收所述服务消息和所述消息ID,对所述服务消息进行处理并生成消费监控消息,将所述消费监控信息返回至所述RabbitMQ,所述消费监控消息包括消息ID、第二服务端的服务名称以及是否异常;
S4、RabbitMQ将所述消费监控消息发送至消息监控服务端进行存储。
为了解决上述技术问题,本发明采用的另一种消息队列跟踪记录技术方案为:
一种消息队列跟踪记录系统,包括第一服务端、RabbitMQ以及第二服务端,所述第一服务端包括第一存储器、第一处理器及存储在第一存储器上并可在第一处理器上运行的第一计算机程序,所述RabbitMQ包括第二存储器、第二处理器及存储在第二存储器上并可在第二处理器上运行的第二计算机程序,所述第二服务端包括第三存储器、第三处理器及存储在第三存储器上并可在第三处理器上运行的第三计算机程序,所述第一处理器执行所述第一计算机程序时实现以下步骤:
S1、同时发送服务消息、消息ID以及生产监控消息,所述生产监控消息包括消息ID以及第一服务端的服务名称;
所述第二处理器执行所述第二计算机程序时实现以下步骤:
S2、接收所述服务消息、所述消息ID以及所述生产监控消息,将所述服务消息和所述消息ID发送至第二服务端,将所述生产监控消息发送至消息监控服务端进行存储;
S4、将消费监控消息发送至消息监控服务端进行存储;
所述第三处理器执行所述第三计算机程序时实现以下步骤:
S3、接收所述服务消息和所述消息ID,对所述服务消息进行处理并生成消费监控消息,将所述消费监控信息返回至所述RabbitMQ,所述消费监控消息包括消息ID、第二服务端的服务名称以及是否异常。
本发明的有益效果在于:一种消息队列跟踪记录方法及系统,在服务核心发送和接收普通的服务信息的同时均增加一条监控信息,即消息监控服务端先后收到两条消息记录:生产监控消息以及消费监控消息,将生产监控消息以及消费监控消息存储在数据库中,从而保存了一条服务信息的生命周期;当出现异常时,通过消息ID,查出该消息都先后传递到了哪些服务核心,是否有出现异常,从而对异常进行快速定位。
附图说明
图1为本发明实施例的一种消息队列跟踪记录方法的流程示意图;
图2为本发明实施例涉及的查询记录的效果示意图;
图3为本发明实施例的一种消息队列跟踪记录系统的结构示意图。
标号说明:
1、一种消息队列跟踪记录系统;2、第一服务端;3、第一处理器;4、第一存储器;5、RabbitMQ;6、第二处理器;7、第二存储器;8、第二服务端;9、第三处理器;10、第三存储器;11、消息监控服务端。
具体实施方式
为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
请参照图1至图2,一种消息队列跟踪记录方法,包括步骤:
S1、第一服务端同时发送服务消息、消息ID以及生产监控消息,所述生产监控消息包括消息ID以及第一服务端的服务名称;
S2、RabbitMQ接收所述服务消息、所述消息ID以及所述生产监控消息,将所述服务消息和所述消息ID发送至第二服务端,将所述生产监控消息发送至消息监控服务端进行存储;
S3、第二服务端接收所述服务消息和所述消息ID,对所述服务消息进行处理并生成消费监控消息,将所述消费监控信息返回至所述RabbitMQ,所述消费监控消息包括消息ID、第二服务端的服务名称以及是否异常;
S4、RabbitMQ将所述消费监控消息发送至消息监控服务端进行存储。
从上述描述可知,本发明的有益效果在于:在服务核心发送和接收普通的服务信息的同时均增加一条监控信息,即消息监控服务端先后收到两条消息记录:生产监控消息以及消费监控消息,将生产监控消息以及消费监控消息存储在数据库中,从而保存了一条服务信息的生命周期;当出现异常时,通过消息ID,查出该消息都先后传递到了哪些服务核心,是否有出现异常,从而对异常进行快速定位。
进一步地,所述步骤S3还包括:
第二服务端判断所述服务消息是否出现异常,若所述服务消息出现异常,则获取所述服务消息的异常消息,将所述异常信息存储至所述消费监控消息,否则直接发送消费监控消息。
从上述描述可知,将发生异常的原因也一并记录在消费监控消息内,使得后续能根据异常原因快速修复。
进一步地,所述步骤S3中“对所述服务消息进行处理”具体为:
使用环绕型切面并在try catch中对所述服务消息进行处理。
从上述描述可知,消息处理方法放到try catch中执行,使得每一次对服务消息进行处理都相当于做好捕获异常的准备,从而快速识别出服务信息是否出现异常。
进一步地,所述步骤S3中的所述第二服务端在消费完所述服务消息后还需要发送给第三服务端时,则执行步骤:
第二服务端同时发送服务消息、消息ID以及生产监控消息,所述生产监控消息包括消息ID以及第二服务端的服务名称。
从上述描述可知,即若第二服务端要继续往下发送消息,则此时第二服务端即为消息生产者,因此也需要发送生产监控信息,从而使得无论消息经过多长的消息链,都有对应的生产监控信息和消费监控信息作为查询,保证后续查询异常的准确性。
进一步地,所述生产监控消息还包括所述消息监控服务端的路由键以及标记为生产者的身份标识信息;
所述消费监控消息还包括标识是否正常消费的消息状态信息、异常信息、所述消息监控服务端的路由键以及标记为消费者的身份标识信息。
从上述描述可知,通过路由键判断是否为消息监控服务端,以保证生产监控消息的安全性。
如图3所示,一种消息队列跟踪记录系统,包括第一服务端、RabbitMQ以及第二服务端,所述第一服务端包括第一存储器、第一处理器及存储在第一存储器上并可在第一处理器上运行的第一计算机程序,所述RabbitMQ包括第二存储器、第二处理器及存储在第二存储器上并可在第二处理器上运行的第二计算机程序,所述第二服务端包括第三存储器、第三处理器及存储在第三存储器上并可在第三处理器上运行的第三计算机程序,所述第一处理器执行所述第一计算机程序时实现以下步骤:
S1、同时发送服务消息、消息ID以及生产监控消息,所述生产监控消息包括消息ID以及第一服务端的服务名称;
所述第二处理器执行所述第二计算机程序时实现以下步骤:
S2、接收所述服务消息、所述消息ID以及所述生产监控消息,将所述服务消息和所述消息ID发送至第二服务端,将所述生产监控消息发送至消息监控服务端进行存储;
S4、将消费监控消息发送至消息监控服务端进行存储;
所述第三处理器执行所述第三计算机程序时实现以下步骤:
S3、接收所述服务消息和所述消息ID,对所述服务消息进行处理并生成消费监控消息,将所述消费监控信息返回至所述RabbitMQ,所述消费监控消息包括消息ID、第二服务端的服务名称以及是否异常。
从上述描述可知,本发明的有益效果在于:在服务核心发送和接收普通的服务信息的同时均增加一条监控信息,即消息监控服务端先后收到两条消息记录:生产监控消息以及消费监控消息,将生产监控消息以及消费监控消息存储在数据库中,从而保存了一条服务信息的生命周期;当出现异常时,通过消息ID,查出该消息都先后传递到了哪些服务核心,是否有出现异常,从而对异常进行快速定位。
进一步地,在所述步骤S3中,所述第三处理器执行所述第三计算机程序时还实现以下步骤:
判断所述服务消息是否出现异常,若所述服务消息出现异常,则获取所述服务消息的异常消息,将所述异常信息存储至所述消费监控消息,否则直接发送消费监控消息。
从上述描述可知,将发生异常的原因也一并记录在消费监控消息内,使得后续能根据异常原因快速修复。
进一步地,在所述步骤S3中“对所述服务消息进行处理”中,所述第三处理器执行所述第三计算机程序时具体实现以下步骤:
使用环绕型切面并在try catch中对所述服务消息进行处理。
从上述描述可知,消息处理方法放到try catch中执行,使得每一次对服务消息进行处理都相当于做好捕获异常的准备,从而快速识别出服务信息是否出现异常。
进一步地,在所述步骤S3中,所述第二服务端在消费完所述服务消息后还需要发送给第三服务端时,所述第三处理器执行所述第三计算机程序时还实现以下步骤:
同时发送服务消息、消息ID以及生产监控消息,所述生产监控消息包括消息ID以及第二服务端的服务名称。
从上述描述可知,即若第二服务端要继续往下发送消息,则此时第二服务端即为消息生产者,因此也需要发送生产监控信息,从而使得无论消息经过多长的消息链,都有对应的生产监控信息和消费监控信息作为查询,保证后续查询异常的准确性。
进一步地,所述生产监控消息还包括所述消息监控服务端的路由键以及标记为生产者的身份标识信息;
所述消费监控消息还包括标识是否正常消费的消息状态信息、异常信息、所述消息监控服务端的路由键以及标记为消费者的身份标识信息。
从上述描述可知,通过路由键判断是否为消息监控服务端,以保证生产监控消息的安全性。
请参照图1至图2,本发明的实施例一为:
本实施例可应用于所有使用Spring框架、RabbitMQ消息中间件的微服务架构后端开发中。
一种消息队列跟踪记录方法,包括步骤:
S1、第一服务端同时发送服务消息、消息ID以及生产监控消息,所述生产监控消息包括消息ID、第一服务端的服务名称、消息监控服务端的路由键以及标记为生产者的身份标识信息;
S2、RabbitMQ接收所述服务消息、所述消息ID以及所述生产监控消息,将所述服务消息和所述消息ID发送至第二服务端,将所述生产监控消息发送至消息监控服务端进行存储;
S3、第二服务端接收所述服务消息和所述消息ID,对所述服务消息进行处理并生成消费监控消息,将所述消费监控信息返回至所述RabbitMQ,所述消费监控消息包括消息ID、第二服务端的服务名称、标识是否正常消费的消息状态信息、异常信息、所述消息监控服务端的路由键以及标记为消费者的身份标识信息;
具体的,第二服务端判断所述服务消息是否出现异常,若所述服务消息出现异常,则获取所述服务消息的异常消息,将所述异常信息存储至所述消费监控消息,否则直接发送消费监控消息;
其中,“对所述服务消息进行处理”具体为:使用环绕型切面并在try catch中对所述服务消息进行处理。
S4、RabbitMQ将所述消费监控消息发送至消息监控服务端进行存储。
其中,本实施例中的第一服务端和第二服务端均为服务核心,在本实施例中,使用Spring的切面编程实现两个注解:
1、@MqProducerMonitor(compName=”loginService”)
参数说明:compName为服务核心的名称,样例中服务核心名称为loginService
作用:每次服务核心发送消息的时候,还会发送监控消息到监控服务,监控服务会对该消息进行存储。
生产者监控消息内容:
2、@MqConsumerMonitor(compName=”payService”)
参数说明:compName为服务核心的名称,样例中服务核心名称为payService
作用:每次服务核心消费消息的时候,会发送监控消息到监控服务,监控服务会对该消息进行存储。
消费者监控消息内容:
在进行注解后,即可实现上述步骤,具体的:
1、第一服务端发送一条服务消息,并带上message_id,即消息ID;
2、由于注解@MqProducerMonitor(compName=”第一服务端”)的存在,会额外发送一条生产监控消息;
3、服务消息到达消息中间件RabbitMQ,第二服务端监听消费普通的服务消息;
4、并由于注解@MqConsumerMonitor(compName=”第二服务端”)的存在,如果在消费过程中,出现了异常,则会捕获异常,并将异常信息存储到监控消息中,发送到消息监控服务端;若没有出现异常,正常消费,也会发送消息到消息监控服务端;
5、如果业务需求,第二服务端还需要将消息继续发送给第三服务端,则保持message_id不变,按照第一服务端一样加上注解,发送消息给第三服务端。
6、消息监控服务端会按先后顺序,消费到两条消息,一条是第一服务端生产的消息记录,一条是第二服务端消费的消息记录。将消费到的消息,存储到数据库当中去。在数据库当中,就能够根据message_id,查出这条消息都先后传递到了哪些服务核心,是否有出现异常。
如图2所示,查询”msg_id”为”fa773d50-2d27-4e31-82a3-a5496198731a”的消息,可以快速知道它传递的先后顺序是:
1、从resourceactivity服务生产发出,
2、由activityframeapi服务正常消费该条消息,
3、并且activityframeapi服务将这条消息,
4、继续发送给了activitycourseapi服务,
5、acitivitycourseapi服务正常消费该条消息。
想要查看消息体内容,则根据”msg_id”查询或者在data里面也记录了该条消息的具体内容。
其中,本实施例的具体代码如下:
1-1注解实现
1-2监控消息发送实现
请参照图3,本发明的实施例二为:
一种消息队列跟踪记录系统1,包括第一服务端2、RabbitMQ5以及第二服务端8,第一服务端2包括第一存储器4、第一处理器3及存储在第一存储器4上并可在第一处理器3上运行的第一计算机程序,RabbitMQ5包括第二存储器7、第二处理器6及存储在第二存储器7上并可在第二处理器6上运行的第二计算机程序,第二服务端8包括第三存储器10、第三处理器9及存储在第三存储器10上并可在第三处理器9上运行的第三计算机程序,第一处理器3执行第一计算机程序时实现上述相应的步骤;第二处理器6执行第二计算机程序时实现上述相应的步骤;第三处理器9执行第三计算机程序时实现上述相应的步骤。
如图3所示,RabbitMQ5将收到的生产监控消息和消费生产消息一并存储在消息监控服务端11中进行保存。
综上所述,本发明提供的一种消息队列跟踪记录方法及系统,在服务核心发送和接收普通的服务信息的同时均增加一条监控信息,即消息监控服务端先后收到两条消息记录:生产监控消息以及消费监控消息,其中,将发生异常的原因也一并记录在消费监控消息内,使得后续能根据异常原因快速修复;将生产监控消息以及消费监控消息存储在数据库中,从而保存了一条服务信息的生命周期;当出现异常时,通过消息ID,查出该消息都先后传递到了哪些服务核心,是否有出现异常,从而对异常进行快速定位;另外,消息处理方法放到trycatch中执行,使得每一次对服务消息进行处理都相当于做好捕获异常的准备,从而快速识别出服务信息是否出现异常。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (8)
1.一种消息队列跟踪记录方法,其特征在于,包括步骤:
S1、第一服务端同时发送服务消息、消息ID以及生产监控消息,所述生产监控消息包括消息ID以及第一服务端的服务名称;
S2、RabbitMQ接收所述服务消息、所述消息ID以及所述生产监控消息,将所述服务消息和所述消息ID发送至第二服务端,将所述生产监控消息发送至消息监控服务端进行存储;
S3、第二服务端接收所述服务消息和所述消息ID,对所述服务消息进行处理并生成消费监控消息,将所述消费监控消息 返回至所述RabbitMQ,所述消费监控消息包括消息ID、第二服务端的服务名称以及是否异常;
S4、RabbitMQ将所述消费监控消息发送至消息监控服务端进行存储;
所述步骤S3还包括:
第二服务端判断所述服务消息是否出现异常,若所述服务消息出现异常,则获取所述服务消息的异常信息 ,将所述异常信息存储至所述消费监控消息,否则直接发送消费监控消息。
2.根据权利要求1所述的一种消息队列跟踪记录方法,其特征在于,所述步骤S3中“对所述服务消息进行处理”具体为:
使用环绕型切面并在try catch中对所述服务消息进行处理。
3.根据权利要求2所述的一种消息队列跟踪记录方法,其特征在于,所述步骤S3中的所述第二服务端在消费完所述服务消息后还需要发送给第三服务端时,则执行步骤:
第二服务端同时发送服务消息、消息ID以及生产监控消息,所述生产监控消息包括消息ID以及第二服务端的服务名称。
4.根据权利要求1至3任一所述的一种消息队列跟踪记录方法,其特征在于,所述生产监控消息还包括所述消息监控服务端的路由键以及标记为生产者的身份标识信息;
所述消费监控消息还包括标识是否正常消费的消息状态信息、异常信息、所述消息监控服务端的路由键以及标记为消费者的身份标识信息。
5.一种消息队列跟踪记录系统,包括第一服务端、RabbitMQ以及第二服务端,所述第一服务端包括第一存储器、第一处理器及存储在第一存储器上并可在第一处理器上运行的第一计算机程序,所述RabbitMQ包括第二存储器、第二处理器及存储在第二存储器上并可在第二处理器上运行的第二计算机程序,所述第二服务端包括第三存储器、第三处理器及存储在第三存储器上并可在第三处理器上运行的第三计算机程序,其特征在于,所述第一处理器执行所述第一计算机程序时实现以下步骤:
S1、同时发送服务消息、消息ID以及生产监控消息,所述生产监控消息包括消息ID以及第一服务端的服务名称;
所述第二处理器执行所述第二计算机程序时实现以下步骤:
S2、接收所述服务消息、所述消息ID以及所述生产监控消息,将所述服务消息和所述消息ID发送至第二服务端,将所述生产监控消息发送至消息监控服务端进行存储;
S4、将消费监控消息发送至消息监控服务端进行存储;
所述第三处理器执行所述第三计算机程序时实现以下步骤:
S3、接收所述服务消息和所述消息ID,对所述服务消息进行处理并生成消费监控消息,将所述消费监控消息 返回至所述RabbitMQ,所述消费监控消息包括消息ID、第二服务端的服务名称以及是否异常;
在所述步骤S3中,所述第三处理器执行所述第三计算机程序时还实现以下步骤:
判断所述服务消息是否出现异常,若所述服务消息出现异常,则获取所述服务消息的异常信息 ,将所述异常信息存储至所述消费监控消息,否则直接发送消费监控消息。
6.根据权利要求5所述的一种消息队列跟踪记录系统,其特征在于,在所述步骤S3中“对所述服务消息进行处理”中,所述第三处理器执行所述第三计算机程序时具体实现以下步骤:
使用环绕型切面并在try catch中对所述服务消息进行处理。
7.根据权利要求5所述的一种消息队列跟踪记录系统,其特征在于,在所述步骤S3中,所述第二服务端在消费完所述服务消息后还需要发送给第三服务端时,所述第三处理器执行所述第三计算机程序时还实现以下步骤:
同时发送服务消息、消息ID以及生产监控消息,所述生产监控消息包括消息ID以及第二服务端的服务名称。
8.根据权利要求5至7任一所述的一种消息队列跟踪记录系统,其特征在于,所述生产监控消息还包括所述消息监控服务端的路由键以及标记为生产者的身份标识信息;
所述消费监控消息还包括标识是否正常消费的消息状态信息、异常信息、所述消息监控服务端的路由键以及标记为消费者的身份标识信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910813164.9A CN110647416B (zh) | 2019-08-30 | 2019-08-30 | 一种消息队列跟踪记录方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910813164.9A CN110647416B (zh) | 2019-08-30 | 2019-08-30 | 一种消息队列跟踪记录方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110647416A CN110647416A (zh) | 2020-01-03 |
CN110647416B true CN110647416B (zh) | 2023-03-24 |
Family
ID=69009960
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910813164.9A Active CN110647416B (zh) | 2019-08-30 | 2019-08-30 | 一种消息队列跟踪记录方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110647416B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114217932A (zh) * | 2021-12-24 | 2022-03-22 | 四川启睿克科技有限公司 | 第三方对接异常处理方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015058648A1 (zh) * | 2013-10-23 | 2015-04-30 | 中兴通讯股份有限公司 | 基于ip电话的留言业务处理方法及装置 |
CN108427615A (zh) * | 2017-02-13 | 2018-08-21 | 腾讯科技(深圳)有限公司 | 一种消息监控方法及装置 |
CN109885410A (zh) * | 2019-01-09 | 2019-06-14 | 广州视源电子科技股份有限公司 | 消息发送方法、装置、计算机设备和存储介质 |
-
2019
- 2019-08-30 CN CN201910813164.9A patent/CN110647416B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015058648A1 (zh) * | 2013-10-23 | 2015-04-30 | 中兴通讯股份有限公司 | 基于ip电话的留言业务处理方法及装置 |
CN108427615A (zh) * | 2017-02-13 | 2018-08-21 | 腾讯科技(深圳)有限公司 | 一种消息监控方法及装置 |
CN109885410A (zh) * | 2019-01-09 | 2019-06-14 | 广州视源电子科技股份有限公司 | 消息发送方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110647416A (zh) | 2020-01-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8402443B2 (en) | Method and system for automated analysis of the performance of remote method invocations in multi-tier applications using bytecode instrumentation | |
US9639444B2 (en) | Architecture for end-to-end testing of long-running, multi-stage asynchronous data processing services | |
US11386061B2 (en) | Telemetry request system | |
CN107135188B (zh) | 金融信息交换fix协议的业务实现方法、装置及系统 | |
JP2004303214A (ja) | データベース変更通知を要求および受信するためのシステムおよび方法 | |
CN114978880B (zh) | 服务调用链追踪方法、系统、计算机及存储介质 | |
US20140201762A1 (en) | Event handling system and method | |
US7096230B2 (en) | Computer-implemented method and system to support in developing a process specification for a collaborative process | |
CN113407511A (zh) | 日志聚合方法、设备及计算机程序产品 | |
CN111930531A (zh) | 数据处理、数据生产、数据消费方法、装置、设备及介质 | |
CN110647416B (zh) | 一种消息队列跟踪记录方法及系统 | |
CN113111078B (zh) | 资源数据处理方法、装置、计算机设备和存储介质 | |
CN114398179A (zh) | 一种跟踪标识的获取方法、装置、服务器及存储介质 | |
CN116346961B (zh) | 金融报文处理方法、装置、电子设备及存储介质 | |
CN113014618B (zh) | 消息处理方法、系统和电子设备 | |
CN116069838A (zh) | 一种数据处理方法、装置、计算机设备及存储介质 | |
US7272614B2 (en) | Computer-implemented method and system to support in developing a process specification for a collaborative process | |
US8898144B2 (en) | Query-oriented message characterization | |
CN117119078A (zh) | 基于Kubernetes集群互联互通调度框架的隐私任务调度方法及装置 | |
US20230052324A1 (en) | System And Method For Sending And Receiving Remote Procedure Calls | |
CN115328734A (zh) | 跨服务的日志处理方法、装置及服务器 | |
CN114090210A (zh) | 一种服务调用的实现方法及装置 | |
US7185345B2 (en) | Data propagation in an activity service | |
CN113992644A (zh) | 一种基于无服务技术的物联网关系统及其数据处理方法 | |
Wang et al. | Robust client/server shared state interactions of collaborative process with system crash and network failures |
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 |