CN113505037A - 消息管理监控系统、方法、可读介质及电子设备 - Google Patents

消息管理监控系统、方法、可读介质及电子设备 Download PDF

Info

Publication number
CN113505037A
CN113505037A CN202110704182.0A CN202110704182A CN113505037A CN 113505037 A CN113505037 A CN 113505037A CN 202110704182 A CN202110704182 A CN 202110704182A CN 113505037 A CN113505037 A CN 113505037A
Authority
CN
China
Prior art keywords
message
consumer
log
producer
module
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
Application number
CN202110704182.0A
Other languages
English (en)
Other versions
CN113505037B (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.)
Beijing Tianjiuyun E Commerce Co ltd
Original Assignee
Beijing Tianjiuyun E Commerce 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 Beijing Tianjiuyun E Commerce Co ltd filed Critical Beijing Tianjiuyun E Commerce Co ltd
Priority to CN202110704182.0A priority Critical patent/CN113505037B/zh
Publication of CN113505037A publication Critical patent/CN113505037A/zh
Application granted granted Critical
Publication of CN113505037B publication Critical patent/CN113505037B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3089Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
    • G06F11/3093Configuration details thereof, e.g. installation, enabling, spatial arrangement of the probes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • G06F9/548Object oriented; Remote method invocation [RMI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/547Messaging middleware

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本公开涉及信息技术领域,具体地,涉及一种消息管理监控系统、方法、可读介质及电子设备。该消息管理监控系统应用于消息队列中间件,包括:消息集成组件、数据采集组件和消息管理监控组件。消息集成组件包括监听模块,消息管理监控组件包括本地缓存队列模块。监听模块用于对各个生产者和消费者进行实时监听,获取各个生产者和消费者的健康状态信息。数据采集组件用于获取监听模块监听的各个生产者和消费者的健康状态信息,并发送至本地缓存队列模块进行缓存。因此,相对现有的消息队列中间件只包含接收、投递、分发的功能,该消息管理监控系统能直观的看到服务应用中队列消息的生产者和消费者的健康情况。

Description

消息管理监控系统、方法、可读介质及电子设备
技术领域
本公开涉及信息技术领域,具体地,涉及一种消息管理监控系统、方法、可读介质及电子设备。
背景技术
现有的消息队列中间件只包含接收、投递、分发的功能,不能直观的看到服务应用中队列消息的生产者和消费者的健康情况。
发明内容
本公开的目的是提供一种能直观的看到服务应用中队列消息的生产者和消费者的健康情况的消息管理监控系统、方法、可读介质及电子设备。
为了实现上述目的,本公开提供一种消息管理监控系统,应用于消息队列中间件,所述消息管理监控系统包括:消息集成组件、数据采集组件和消息管理监控组件,所述消息集成组件包括监听模块,所述消息管理监控组件包括本地缓存队列模块;
所述监听模块,用于对各个生产者和消费者进行实时监听,获取各个所述生产者和消费者的健康状态信息,每个所述生产者的健康状态信息包括:该生产者的名称以及该生产者当前投递消息的全局唯一标识、投递次数和投递时间,每个所述消费者的健康状态信息包括:该消费者的名称以及该消费者当前消费消息的全局唯一标识、消费次数和消费时间;
所述数据采集组件,用于获取所述监听模块监听的各个所述生产者和消费者的健康状态信息,并将各个所述生产者和消费者的健康状态信息发送至所述本地缓存队列模块;
所述本地缓存队列模块,用于缓存各个所述生产者和消费者的最新健康状态信息。
可选地,所述消息管理监控组件还包括预警告警模块;
所述预警告警模块,用于获取各个所述生产者的最新健康状态信息,并针对每个所述生产者,在该生产者投递消息的投递次数等于第一预设阈值时发送第一告警信息至第一用户账号,所述第一告警信息包括该生产者的名称:
所述预警告警模块,还用于获取各个所述消费者的最新健康状态信息,并针对每个所述消费者,在该消费者消费消息的消费次数等于第二预设阈值时发送第二告警信息至第二用户账号,所述第二告警信息包括该消费者的名称。
可选地,所述预警告警模块,还用于针对每个所述生产者,在该生产者投递消息的投递次数等于第三预设阈值时进行第一预警提示,所述第三预设阈值小于所述第一预设阈值;
所述预警告警模块,还用于针对每个所述消费者,在该消费者消费消息的消费次数等于第四预设阈值时进行第二预警提示,所述第四预设阈值小于所述第二预设阈值。
可选地,所述消息管理监控组件还包括剔除模块;
所述剔除模块,用于在接收到所述预警告警模块发送的所述第二告警信息后,获取所述第二告警信息中的异常消费者名称,在判断该异常消费者对应的消息队列与多个消费者对应时,剔除该异常消费者。
可选地,所述消息集成组件还包括日志队列初始化模块、序列化模块、日志消息创建模块和反序列化模块,所述消息管理监控组件包括日志消息查看模块;
所述日志队列初始化模块,用于在所述消息队列中间件内创建日志队列,所述日志队列用于接收日志消息并将所述日志消息存储至数据库中;
所述序列化模块,用于对所述生产者产生的消息添加所述全局唯一标识并进行序列化,以生成序列化消息;
所述日志消息创建模块,用于监听到所述生产者将所述序列化消息投递至交换机时,根据所述序列化消息生成第一日志消息,并将所述第一日志消息发送至所述日志队列,所述第一日志消息包括所述序列化消息的消息内容、全局唯一标识、投递时间和投递次数;
所述反序列化模块,用于对所述消费者接收的所述序列化消息进行反序列化,以生成反序列化消息;
所述监听模块,还用于在监听到所述消费者消费所述反序列化消息时,根据所述反序列化消息生成第二日志消息,并将所述第二日志消息发送至所述日志队列,所述第二日志消息包括所述反序列化消息的消息内容、全局唯一标识、消费时间和消费次数;
所述日志消息查看模块,用于从所述数据库中获取所述第一日志消息和第二日志消息。
可选地,所述序列化模块为json序列化模块,所述反序列化模块为json反序列化模块。
本公开还提供一种消息管理监控方法,应用于消息队列中间件,所述方法包括:
对各个生产者和消费者进行实时监听,获取各个所述生产者和消费者的健康状态信息,每个所述生产者的健康状态信息包括:该生产者的名称以及该生产者当前投递消息的全局唯一标识、投递次数和投递时间,每个所述消费者的健康状态信息包括:该消费者的名称以及该消费者当前消费消息的全局唯一标识、消费次数和消费时间;
缓存各个所述生产者和消费者的最新健康状态信息。
可选地,所述方法还包括:
在所述消息队列中间件内创建日志队列,所述日志队列用于接收日志消息并将所述日志消息存储至数据库中;
对所述生产者产生的消息添加所述全局唯一标识并进行序列化,以生成序列化消息;
监听到所述生产者将所述序列化消息投递至交换机时,根据所述序列化消息生成第一日志消息,并将所述第一日志消息发送至所述日志队列,所述第一日志消息包括所述序列化消息的消息内容、全局唯一标识、投递时间和投递次数;
对所述消费者接收的所述序列化消息进行反序列化,以生成反序列化消息;
在监听到所述消费者消费所述反序列化消息时,根据所述反序列化消息生成第二日志消息,并将所述第二日志消息发送至所述日志队列,所述第二日志消息包括所述反序列化消息的消息内容、全局唯一标识、消费时间和消费次数;
从所述数据库中获取所述第一日志消息和第二日志消息。
本公开还提供一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述方法的步骤。
本公开还提供一种电子设备,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现上述方法的步骤。
通过上述技术方案,本公开实施例提供的消息管理监控系统应用于消息队列中间件,通过对生产者和消费者进行实时监听,获取各个所述生产者和消费者的健康状态信息并进行缓存。用户可以通过缓存获取、查看各个所述生产者和消费者的最新健康状态信息。因此,相对现有的消息队列中间件只包含接收、投递、分发的功能,本公开实施例提供的消息管理监控系统能直观的看到服务应用中队列消息的生产者和消费者的健康情况。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1是本公开实施例提供的一种消息管理监控系统的框图。
图2是本公开实施例提供的另一种消息管理监控系统的框图。
图3是本公开实施例提供的另一种消息管理监控系统的框图。
图4是图3中的消息管理监控系统应用于消息队列中间件的示意图。
图5是本公开实施例提供的一种消息管理监控方法的流程图。
图6是本公开实施例提供的一种电子设备的框图。
具体实施方式
以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
图1示出了本公开实施例提供的一种消息管理监控系统1的框图。如图1所示,本公开实施例提供一种消息管理监控系统1,应用于消息队列中间件200。所述消息管理监控系统1包括:消息集成组件10、数据采集组件20和消息管理监控组件30。所述消息集成组件10包括监听模块11。所述消息管理监控组件30包括本地缓存队列模块31。
请结合参阅图1和图4(图4是本公开实施例提供的另一种消息管理监控系统1应用于消息队列中间件200的示意图),所述监听模块11,用于对各个生产者100和消费者400进行实时监听,获取各个所述生产者100和消费者400的健康状态信息。每个所述生产者100的健康状态信息包括:该生产者100的名称以及该生产者100当前投递消息的全局唯一标识、投递次数和投递时间。每个所述消费者400的健康状态信息包括:该消费者400的名称以及该消费者400当前消费消息的全局唯一标识、消费次数和消费时间。
其中,针对一所述消息,当生产者100一次就投递成功,则该生产者100对该消息的投递次数为1;当生产者100一次投递失败后,间隔一定时间后该生产者100会对该消息进行再次投递,针对该生产者100的每次投递,其投递次数加1。同理,针对一所述消息,当消费者400一次就消费成功,则该消费者400对该消息的消费次数为1;当消费者400一次投递失败后,间隔一定时间后该消费者400会对该消息进行再次消费,针对该消费者400的每次消费,其消费次数加1。因此,通过生产者100当前投递消息的投递次数和投递时间即可获知该生产者100的健康状态,通过消费者400当前消费消息的消费次数和消费时间即可获知该消费者400的健康状态。
所述数据采集组件20,用于获取所述监听模块11监听的各个所述生产者100和消费者400的健康状态信息,并将各个所述生产者100和消费者400的健康状态信息发送至所述本地缓存队列模块31。
其中,所述数据采集组件20可以是基于RMI(Remote Method Invocation,远程方法调用)技术。所述数据采集组件20实时获取所述监听模块11监听的各个所述生产者100和消费者400的健康状态信息,并将各个所述生产者100和消费者400的健康状态信息推送至所述本地缓存队列模块31。
所述本地缓存队列模块31,用于缓存各个所述生产者100和消费者400的最新健康状态信息。
针对每个所述生产者100,所述本地缓存队列模块31仅会缓存该生产者100当前的健康状态信息,即新获取的该生产者100健康状态信息会替代原来获取的该生产者100健康状态信息被所述本地缓存队列模块31缓存。同理,针对每个所述消费者400,所述本地缓存队列模块31仅会缓存该消费者400当前的健康状态信息,即新获取的该消费者400健康状态信息会替代原来获取的该消费者400健康状态信息被所述本地缓存队列模块31缓存。用户可以通过本地缓存队列模块31获取、查看各个所述生产者100和消费者400的最新健康状态信息。
通过上述技术方案,本公开实施例提供的消息管理监控系统1应用于消息队列中间件200,通过对生产者100和消费者400进行实时监听,获取各个所述生产者100和消费者400的健康状态信息并传输至消息管理监控组件30的本地缓存队列模块31进行缓存。用户可以通过本地缓存队列模块31获取、查看各个所述生产者100和消费者400的最新健康状态信息。因此,相对现有的消息队列中间件200只包含接收、投递、分发的功能,本公开实施例提供的消息管理监控系统1能直观的看到服务应用中队列消息的生产者100和消费者400的健康情况。
可选地,如图2所示,所述消息管理监控组件30还包括预警告警模块32。
所述预警告警模块32,用于获取各个所述生产者100的最新健康状态信息,并针对每个所述生产者100,在该生产者100投递消息的投递次数等于第一预设阈值时发送第一告警信息至第一用户账号,所述第一告警信息包括该生产者100的名称。
其中,第一预设阈值可以根据实际情况灵活设置,例如等于3。在初始时,预先对预警告警模块32进行配置,包括配置第一预设阈值的具体值、通知方式(邮件、短信、企业微信等)、及与通知方式对应的通知对象(第一用户的账号/地址)。具体实施时,所述预警告警模块32实时从本地缓存队列模块31获取各个生产者100的最新健康状态信息,当某个生产者100投递消息的投递次数达到第一预设阈值时,根据配置发送第一告警信息至第一用户账号。所述第一告警信息包括该生产者100的名称,因此第一用户账号对应的第一用户可以根据第一告警信息中的生产者100的名称查看该生产者100的最新健康状态信息,以及根据该生产者100的最新健康状态信息发现投递异常的原因及对投递异常进行处理。可选地,所述第一告警信息还可以包括该生产者100当前投递消息的全局唯一标识、投递次数和投递时间。
所述预警告警模块32,还用于获取各个所述消费者400的最新健康状态信息,并针对每个所述消费者400,在该消费者400消费消息的消费次数等于第二预设阈值时发送第二告警信息至第二用户账号,所述第二告警信息包括该消费者400的名称。
其中,第二预设阈值可以根据实际情况灵活设置,例如等于3。在初始时,预先对预警告警模块32进行配置,包括配置第二预设阈值的具体值、通知方式(邮件、短信、企业微信等)、及与通知方式对应的通知对象(第二用户的账号/地址)。其中,第二用户账号可以和第一用户账号相同,也可以不同。具体实施时,所述预警告警模块32实时从本地缓存队列模块31获取各个消费者400的最新健康状态信息,当某个消费者400消费消息的消费次数达到第二预设阈值时,根据配置发送第二告警信息至第二用户账号。所述第二告警信息包括该消费者400的名称,因此第二用户账号对应的第二用户可以根据第二告警信息中的消费者400的名称查看该消费者400的最新健康状态信息,以及根据该消费者400的最新健康状态信息发现消费异常的原因及对消费异常进行处理。可选地,所述第二告警信息还可以包括该消费者400当前消费消息的全局唯一标识、消费次数和消费时间。
通过上述技术方案,本公开实施例提供的消息管理监控系统1能对生产者100和消费者400进行实时监听,并在生产者100和消费者400出现投递异常(投递次数较多)和消费异常(消费次数较多)时,自动发送第一告警信息和第二告警信息通知第一用户和第二用户,便于第一用户和第二用户及时发现异常的生产者100和消费者400。
可选地,所述预警告警模块32,还用于针对每个所述生产者100,在该生产者100投递消息的投递次数等于第三预设阈值时进行第一预警提示,所述第三预设阈值小于所述第一预设阈值。
所述预警告警模块32,还用于针对每个所述消费者400,在该消费者400消费消息的消费次数等于第四预设阈值时进行第二预警提示,所述第四预设阈值小于所述第二预设阈值。
同理,第三预设阈值和第四预设阈值可以根据实际情况灵活设置,例如,可以为1。通过上述技术方案,本公开实施例提供的消息管理监控系统1能对生产者100和消费者400进行实时监听,并在生产者100和消费者400出现投递失败和消费失败时,进行第一预警提示和第二预警提示,便于用户及时发现投递失败的生产者100和消费失败的消费者400。
可选地,所述消息管理监控组件30还包括剔除模块。
所述剔除模块,用于在接收到所述预警告警模块32发送的所述第二告警信息后,获取所述第二告警信息中的异常消费者400名称,在判断该异常消费者400对应的消息队列与多个消费者400对应时,剔除该异常消费者400。
当多个消费者400对应同一消息队列,该消息队列的消费者400出现消费异常时,可以对出现消费异常的异常消费者400进行剔除,而不会影响该消息队列的消息消费。通过上述技术方案,本公开实施例提供的消息管理监控系统1能对异常消费者400进行剔除,避免影响消息消费效率。
可选地,如图3所示,所述消息集成组件10还包括日志队列初始化模块12、序列化模块13、日志消息创建模块14和反序列化模块15。所述消息管理监控组件30包括日志消息查看模块33。图4是图3中的消息管理监控系统1应用于消息队列中间件200的示意图。
请结合参阅图3和图4,所述日志队列初始化模块12,用于在所述消息队列中间件200内创建日志队列。所述日志队列用于接收日志消息并将所述日志消息存储至数据库300中。
所述序列化模块13,用于对所述生产者100产生的消息添加所述全局唯一标识并进行序列化,以生成序列化消息。
其中,生产者100产生的消息可以包括路由信息如交换机名称和路由键,消息体内容,消息(当前)投递时间和消息(当前)投递次数。序列化消息则可以包括路由信息如交换机名称和路由键,消息内容,消息(当前)投递时间,消息(当前)投递次数和全局唯一标识。所述全局唯一标识与消息内容有关。针对同一消息的多次投递,其全局唯一标识相同。
所述日志消息创建模块14,用于监听到所述生产者100将所述序列化消息投递至交换机时,根据所述序列化消息生成第一日志消息,并将所述第一日志消息发送至所述日志队列。所述第一日志消息包括所述序列化消息的消息内容、全局唯一标识、投递时间和投递次数。
针对同一消息的多次投递,每次投递均会产生一个第一日志消息,每个第一日志消息内的投递时间为当前(此次)投递时间,投递次数为当前(此次)投递次数。
所述反序列化模块15,用于对所述消费者400接收的所述序列化消息进行反序列化,以生成反序列化消息。
所述监听模块11,还用于在监听到所述消费者400消费所述反序列化消息时,根据所述反序列化消息生成第二日志消息,并将所述第二日志消息发送至所述日志队列,所述第二日志消息包括所述反序列化消息的消息内容、全局唯一标识、消费时间和消费次数。
同理,针对同一消息的多次消费,每次消费均会产生一个第二日志消息,每个第二日志消息内的消费时间为当前(此次)消费时间,消费次数为当前(此次)消费次数。
所述日志消息查看模块33,用于从所述数据库300中获取所述第一日志消息和第二日志消息。
用户可以通过日志消息查看模块33获取、查看所述第一日志消息和第二日志消息。对于获取到的多个所述第一日志消息和第二日志消息,针对每个消息,可以通过消息的全局唯一标识,将与该消息相关的第一日志消息和第二日志消息查找出来。通过分析每个消息的所有第一日志消息和第二日志消息,可以还原该消息从最初投递到最后消费的大致过程,包括最初投递时间,是否投递失败,(如果失败)每次重新投递的时间,最初消费时间,是否消费失败,(如果失败)每次重新消费的时间。用户可以根据需要对消息从最初投递到最后消费的大致过程进行分析,以对生产者100、消息队列中间件200、消费者400的某些性能进行分析。例如,针对一个生产者100-消息队列-n个消费者400形成的链路,用户可以选取该链路传输的多个投递次数为1且消费次数为1的消息,计算每个消息的投递时间与消费时间的时间差,若过多消息的投递时间与消费时间的时间差较大时,可以断定该链路的消息消费性能存在瓶颈。
通过上述技术方案,本公开实施例提供的消息管理监控系统1,对生产者100和消费者400进行实时监听,获取各个所述生产者100和消费者400的最新健康状态信息,便于用户及时发现异常的生产者100和消费者400;对生产者100投递消息进行监听,生成反映消息投递情况的第一日志消息,对消费者400消费消息进行监听,生成反映消息消费情况的第二日志消息,通过日志队列将第一日志消息和第二日志消息存储在数据库300中,便于用户获取历史第一日志消息和第二日志消息及对他们进行分析,以对生产者100、消息队列中间件200、消费者400的某些性能进行分析。
可选地,所述序列化模块13为json序列化模块13,所述反序列化模块15为json反序列化模块15。
相对于jdk序列化模块13和jdk反序列化模块15,采用json序列化模块13和json反序列化模块15进行序列化,进行序列化/还原的转换时间更短,转换结果更小,因而性能更好。
可选地,所述消息管理监控组件30还包括:模拟模块。
所述模拟模块,用于模拟生产者100进行消息投递,以对所述消息管理监控系统1进行功能测试。
基于上述发明构思,本公开实施例还提供一种消息管理监控方法,应用于消息队列中间件。图5示出了所述消息管理监控方法的流程图。如图4所示,所述方法包括:
步骤S11,对各个生产者和消费者进行实时监听,获取各个所述生产者和消费者的健康状态信息。
其中,每个所述生产者的健康状态信息包括:该生产者的名称以及该生产者当前投递消息的全局唯一标识、投递次数和投递时间。每个所述消费者的健康状态信息包括:该消费者的名称以及该消费者当前消费消息的全局唯一标识、消费次数和消费时间。
步骤S12,缓存各个所述生产者和消费者的最新健康状态信息。
通过上述技术方案,本公开实施例提供的消息管理监控系统应用于消息队列中间件,通过对生产者和消费者进行实时监听,获取各个所述生产者和消费者的健康状态信息并进行缓存。用户可以通过缓存获取、查看各个所述生产者和消费者的最新健康状态信息。因此,相对现有的消息队列中间件只包含接收、投递、分发的功能,本公开实施例提供的消息管理监控系统能直观的看到服务应用中队列消息的生产者和消费者的健康情况。
可选地,所述方法还包括以下步骤:
获取各个所述生产者的最新健康状态信息,并针对每个所述生产者,在该生产者投递消息的投递次数等于第一预设阈值时发送第一告警信息至第一用户账号。
其中,所述第一告警信息包括该生产者的名称。可选地,所述第一告警信息还可以包括该生产者当前投递消息的全局唯一标识、投递次数和投递时间。
获取各个所述消费者的最新健康状态信息,并针对每个所述消费者,在该消费者消费消息的消费次数等于第二预设阈值时发送第二告警信息至第二用户账号。
其中,所述第二告警信息包括该消费者的名称。可选地,所述第二告警信息还可以包括该消费者当前消费消息的全局唯一标识、消费次数和消费时间。
通过上述技术方案,本公开实施例提供的消息管理监控系统能对生产者和消费者进行实时监听,并在生产者和消费者出现投递异常(投递次数较多)和消费异常(消费次数较多)时,自动发送第一告警信息和第二告警信息通知第一用户和第二用户,便于第一用户和第二用户及时发现异常的生产者和消费者。
可选地,所述方法还包括以下步骤:
针对每个所述生产者,在该生产者投递消息的投递次数等于第三预设阈值时进行第一预警提示,所述第三预设阈值小于所述第一预设阈值。
针对每个所述消费者,在该消费者消费消息的消费次数等于第四预设阈值时进行第二预警提示,所述第四预设阈值小于所述第二预设阈值。
通过上述技术方案,本公开实施例提供的消息管理监控系统能对生产者和消费者进行实时监听,并在生产者和消费者出现投递失败和消费失败时,进行第一预警提示和第二预警提示,便于用户及时发现投递失败的生产者和消费失败的消费者。
可选地,所述方法还包括以下步骤:
在接收到所述第二告警信息后,获取所述第二告警信息中的异常消费者名称,在判断该异常消费者对应的消息队列与多个消费者对应时,剔除该异常消费者。
当多个消费者对应同一消息队列,该消息队列的消费者出现消费异常时,可以对出现消费异常的异常消费者进行剔除,而不会影响该消息队列的消息消费。通过上述技术方案,本公开实施例提供的消息管理监控系统能对异常消费者进行剔除,避免影响消息消费效率。
可选地,所述方法还包括:
在所述消息队列中间件内创建日志队列,所述日志队列用于接收日志消息并将所述日志消息存储至数据库中。
对所述生产者产生的消息添加所述全局唯一标识并进行序列化,以生成序列化消息。
监听到所述生产者将所述序列化消息投递至交换机时,根据所述序列化消息生成第一日志消息,并将所述第一日志消息发送至所述日志队列,所述第一日志消息包括所述序列化消息的消息内容、全局唯一标识、投递时间和投递次数。
对所述消费者接收的所述序列化消息进行反序列化,以生成反序列化消息。
在监听到所述消费者消费所述反序列化消息时,根据所述反序列化消息生成第二日志消息,并将所述第二日志消息发送至所述日志队列,所述第二日志消息包括所述反序列化消息的消息内容、全局唯一标识、消费时间和消费次数。
从所述数据库中获取所述第一日志消息和第二日志消息。
通过上述技术方案,本公开实施例提供的消息管理监控系统,对生产者和消费者进行实时监听,获取各个所述生产者和消费者的最新健康状态信息,便于用户及时发现异常的生产者和消费者;对生产者投递消息进行监听,生成反映消息投递情况的第一日志消息,对消费者消费消息进行监听,生成反映消息消费情况的第二日志消息,通过日志队列将第一日志消息和第二日志消息存储在数据库中,便于用户获取历史第一日志消息和第二日志消息及对他们进行分析,以对生产者、消息队列中间件、消费者的某些性能进行分析。
可选地,上述步骤中,对所述生产者产生的消息添加所述全局唯一标识并进行序列化,是基于json序列化技术;对所述消费者接收的所述序列化消息进行反序列化,是基于json反序列化技术。
相对于jdk序列化和jdk反序列化,采用json序列化和json反序列化,进行序列化/还原的转换时间更短,转换结果更小,因而性能更好。
可选地,所述方法还包括以下步骤:
模拟生产者进行消息投递,以对所述消息管理监控系统进行功能测试。
关于上述实施例中的方法,其中各个步骤的具体实施方式已经在该系统对应模块的实施例中进行了详细描述,此处将不做详细阐述说明。
图6是根据一示例性实施例示出的一种电子设备700的框图。如图6所示,该电子设备700可以包括:处理器701,存储器702。该电子设备700还可以包括多媒体组件703,输入/输出(I/O)接口704,以及通信组件705中的一者或多者。
其中,处理器701用于控制该电子设备700的整体操作,以完成上述的消息管理监控方法中的全部或部分步骤。存储器702用于存储各种类型的数据以支持在该电子设备700的操作,这些数据例如可以包括用于在该电子设备700上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器702可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。多媒体组件703可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器702或通过通信组件705发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口704为处理器701和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件705用于该电子设备700与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near FieldCommunication,简称NFC),2G、3G、4G、NB-IOT、eMTC、或其他5G等等,或它们中的一种或几种的组合,在此不做限定。因此相应的该通信组件705可以包括:Wi-Fi模块,蓝牙模块,NFC模块等等。
在一示例性实施例中,电子设备700可以被一个或多个应用专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(DigitalSignal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的消息管理监控方法。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的消息管理监控方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器702,上述程序指令可由电子设备700的处理器701执行以完成上述的消息管理监控方法。
在另一示例性实施例中,还提供一种计算机程序产品,该计算机程序产品包含能够由可编程的装置执行的计算机程序,该计算机程序具有当由该可编程的装置执行时用于执行上述的消息管理监控方法的代码部分。
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。

Claims (10)

1.一种消息管理监控系统,其特征在于,应用于消息队列中间件,所述消息管理监控系统包括:消息集成组件、数据采集组件和消息管理监控组件,所述消息集成组件包括监听模块,所述消息管理监控组件包括本地缓存队列模块;
所述监听模块,用于对各个生产者和消费者进行实时监听,获取各个所述生产者和消费者的健康状态信息,每个所述生产者的健康状态信息包括:该生产者的名称以及该生产者当前投递消息的全局唯一标识、投递次数和投递时间,每个所述消费者的健康状态信息包括:该消费者的名称以及该消费者当前消费消息的全局唯一标识、消费次数和消费时间;
所述数据采集组件,用于获取所述监听模块监听的各个所述生产者和消费者的健康状态信息,并将各个所述生产者和消费者的健康状态信息发送至所述本地缓存队列模块;
所述本地缓存队列模块,用于缓存各个所述生产者和消费者的最新健康状态信息。
2.根据权利要求1所述的消息管理监控系统,其特征在于,所述消息管理监控组件还包括预警告警模块;
所述预警告警模块,用于获取各个所述生产者的最新健康状态信息,并针对每个所述生产者,在该生产者投递消息的投递次数等于第一预设阈值时发送第一告警信息至第一用户账号,所述第一告警信息包括该生产者的名称:
所述预警告警模块,还用于获取各个所述消费者的最新健康状态信息,并针对每个所述消费者,在该消费者消费消息的消费次数等于第二预设阈值时发送第二告警信息至第二用户账号,所述第二告警信息包括该消费者的名称。
3.根据权利要求2所述的消息管理监控系统,其特征在于,所述预警告警模块,还用于针对每个所述生产者,在该生产者投递消息的投递次数等于第三预设阈值时进行第一预警提示,所述第三预设阈值小于所述第一预设阈值;
所述预警告警模块,还用于针对每个所述消费者,在该消费者消费消息的消费次数等于第四预设阈值时进行第二预警提示,所述第四预设阈值小于所述第二预设阈值。
4.根据权利要求3所述的消息管理监控系统,其特征在于,所述消息管理监控组件还包括剔除模块;
所述剔除模块,用于在接收到所述预警告警模块发送的所述第二告警信息后,获取所述第二告警信息中的异常消费者名称,在判断该异常消费者对应的消息队列与多个消费者对应时,剔除该异常消费者。
5.根据权利要求1-4任一项所述的消息管理监控系统,其特征在于,所述消息集成组件还包括日志队列初始化模块、序列化模块、日志消息创建模块和反序列化模块,所述消息管理监控组件包括日志消息查看模块;
所述日志队列初始化模块,用于在所述消息队列中间件内创建日志队列,所述日志队列用于接收日志消息并将所述日志消息存储至数据库中;
所述序列化模块,用于对所述生产者产生的消息添加所述全局唯一标识并进行序列化,以生成序列化消息;
所述日志消息创建模块,用于监听到所述生产者将所述序列化消息投递至交换机时,根据所述序列化消息生成第一日志消息,并将所述第一日志消息发送至所述日志队列,所述第一日志消息包括所述序列化消息的消息内容、全局唯一标识、投递时间和投递次数;
所述反序列化模块,用于对所述消费者接收的所述序列化消息进行反序列化,以生成反序列化消息;
所述监听模块,还用于在监听到所述消费者消费所述反序列化消息时,根据所述反序列化消息生成第二日志消息,并将所述第二日志消息发送至所述日志队列,所述第二日志消息包括所述反序列化消息的消息内容、全局唯一标识、消费时间和消费次数;
所述日志消息查看模块,用于从所述数据库中获取所述第一日志消息和第二日志消息。
6.根据权利要求5所述的消息管理监控系统,其特征在于,所述序列化模块为json序列化模块,所述反序列化模块为json反序列化模块。
7.一种消息管理监控方法,其特征在于,应用于消息队列中间件,所述方法包括:
对各个生产者和消费者进行实时监听,获取各个所述生产者和消费者的健康状态信息,每个所述生产者的健康状态信息包括:该生产者的名称以及该生产者当前投递消息的全局唯一标识、投递次数和投递时间,每个所述消费者的健康状态信息包括:该消费者的名称以及该消费者当前消费消息的全局唯一标识、消费次数和消费时间;
缓存各个所述生产者和消费者的最新健康状态信息。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
在所述消息队列中间件内创建日志队列,所述日志队列用于接收日志消息并将所述日志消息存储至数据库中;
对所述生产者产生的消息添加所述全局唯一标识并进行序列化,以生成序列化消息;
监听到所述生产者将所述序列化消息投递至交换机时,根据所述序列化消息生成第一日志消息,并将所述第一日志消息发送至所述日志队列,所述第一日志消息包括所述序列化消息的消息内容、全局唯一标识、投递时间和投递次数;
对所述消费者接收的所述序列化消息进行反序列化,以生成反序列化消息;
在监听到所述消费者消费所述反序列化消息时,根据所述反序列化消息生成第二日志消息,并将所述第二日志消息发送至所述日志队列,所述第二日志消息包括所述反序列化消息的消息内容、全局唯一标识、消费时间和消费次数;
从所述数据库中获取所述第一日志消息和第二日志消息。
9.一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求7或8中所述方法的步骤。
10.一种电子设备,其特征在于,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现权利要求7或8中所述方法的步骤。
CN202110704182.0A 2021-06-24 2021-06-24 消息管理监控系统、方法、可读介质及电子设备 Active CN113505037B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110704182.0A CN113505037B (zh) 2021-06-24 2021-06-24 消息管理监控系统、方法、可读介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110704182.0A CN113505037B (zh) 2021-06-24 2021-06-24 消息管理监控系统、方法、可读介质及电子设备

Publications (2)

Publication Number Publication Date
CN113505037A true CN113505037A (zh) 2021-10-15
CN113505037B CN113505037B (zh) 2024-06-21

Family

ID=78010483

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110704182.0A Active CN113505037B (zh) 2021-06-24 2021-06-24 消息管理监控系统、方法、可读介质及电子设备

Country Status (1)

Country Link
CN (1) CN113505037B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114205322A (zh) * 2021-12-13 2022-03-18 中国平安财产保险股份有限公司 消息发送方法、装置、电子设备及存储介质
CN114466062A (zh) * 2022-02-08 2022-05-10 展讯通信(天津)有限公司 消息分发方法和装置
CN115460086A (zh) * 2022-08-18 2022-12-09 北京永辉科技有限公司 分布式中间件的实时防护系统、方法及计算机可读存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030051030A1 (en) * 2001-09-07 2003-03-13 Clarke James B. Distributed metric discovery and collection in a distributed system
CN107465549A (zh) * 2017-08-18 2017-12-12 北京奇艺世纪科技有限公司 一种分布式消息处理方法和系统
CN109245935A (zh) * 2018-09-27 2019-01-18 福建天泉教育科技有限公司 一种消息队列异常的处理方法及终端
CN111338814A (zh) * 2020-02-13 2020-06-26 北京奇艺世纪科技有限公司 消息处理方法和装置、存储介质和电子装置
CN111552575A (zh) * 2019-12-31 2020-08-18 远景智能国际私人投资有限公司 基于消息队列的消息消费方法、装置及设备
CN112328418A (zh) * 2020-11-27 2021-02-05 行吟信息科技(上海)有限公司 一种提升mq同步可靠性的方法和系统
CN112667414A (zh) * 2020-12-23 2021-04-16 平安普惠企业管理有限公司 基于消息队列的消息消费方法、装置、计算机设备及介质
CN113014618A (zh) * 2021-01-12 2021-06-22 腾讯科技(深圳)有限公司 消息处理方法、系统和电子设备

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030051030A1 (en) * 2001-09-07 2003-03-13 Clarke James B. Distributed metric discovery and collection in a distributed system
CN107465549A (zh) * 2017-08-18 2017-12-12 北京奇艺世纪科技有限公司 一种分布式消息处理方法和系统
CN109245935A (zh) * 2018-09-27 2019-01-18 福建天泉教育科技有限公司 一种消息队列异常的处理方法及终端
CN111552575A (zh) * 2019-12-31 2020-08-18 远景智能国际私人投资有限公司 基于消息队列的消息消费方法、装置及设备
CN111338814A (zh) * 2020-02-13 2020-06-26 北京奇艺世纪科技有限公司 消息处理方法和装置、存储介质和电子装置
CN112328418A (zh) * 2020-11-27 2021-02-05 行吟信息科技(上海)有限公司 一种提升mq同步可靠性的方法和系统
CN112667414A (zh) * 2020-12-23 2021-04-16 平安普惠企业管理有限公司 基于消息队列的消息消费方法、装置、计算机设备及介质
CN113014618A (zh) * 2021-01-12 2021-06-22 腾讯科技(深圳)有限公司 消息处理方法、系统和电子设备

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114205322A (zh) * 2021-12-13 2022-03-18 中国平安财产保险股份有限公司 消息发送方法、装置、电子设备及存储介质
CN114466062A (zh) * 2022-02-08 2022-05-10 展讯通信(天津)有限公司 消息分发方法和装置
CN114466062B (zh) * 2022-02-08 2023-10-20 展讯通信(天津)有限公司 消息分发方法和装置
CN115460086A (zh) * 2022-08-18 2022-12-09 北京永辉科技有限公司 分布式中间件的实时防护系统、方法及计算机可读存储介质
CN115460086B (zh) * 2022-08-18 2024-01-30 北京永辉科技有限公司 分布式中间件的实时防护系统、方法及计算机可读存储介质

Also Published As

Publication number Publication date
CN113505037B (zh) 2024-06-21

Similar Documents

Publication Publication Date Title
CN113505037B (zh) 消息管理监控系统、方法、可读介质及电子设备
CN109522287B (zh) 分布式文件存储集群的监控方法、系统、设备及介质
CN108566290B (zh) 服务配置管理方法、系统、存储介质和服务器
CN110719318B (zh) 消息处理方法和系统
CN104967537A (zh) 一种报警信息推送方法及装置
CN109150662B (zh) 消息传输方法、分布式系统、设备、介质和无人车
CN111371898B (zh) 一种消息监听方法、装置、设备及存储介质
CN115088235B (zh) 主节点选取方法、装置、电子设备以及存储介质
CN112015815A (zh) 数据同步方法、装置及计算机可读存储介质
CN113382056A (zh) 数据上报方法、装置、设备、存储介质及系统
US9781010B2 (en) Managing remote devices
CN109788251B (zh) 视频处理方法、装置及存储介质
CN111125681A (zh) 业务处理方法、装置及存储介质
CN109032767B (zh) 异步多进程的业务处理系统、方法、装置及存储介质
CN112153146B (zh) 操作通知方法和装置、存储介质和电子装置
CN113704037A (zh) 设备测试方法、装置、计算机设备和存储介质
KR20110037969A (ko) 모니터링 시스템에서의 메시지의 타겟화된 사용자 통지
CN109728957B (zh) 一种交互式运维的方法及装置
CN114884915B (zh) 基于灰度发布的消息处理方法、装置以及设备
CN112612592A (zh) 可配置式定时任务处理方法、装置、设备及存储介质
CN113504969A (zh) 容器事件告警的方法、装置及电子设备
CN109005448B (zh) 弹幕消息分发方法、装置、设备及存储介质
CN111176746A (zh) 一种数据配置方法、装置、系统、电子设备及其存储介质
CN109756351B (zh) 一种用于系统单元状态变化的自动通知与响应系统
CN110221869B (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
CB02 Change of applicant information

Address after: 403, 4th Floor, Building 7, Xiujuyuan, Beiyuan Jiayuan, Chaoyang District, Beijing, 100012

Applicant after: Beijing Tianjiuyun e-commerce Group Co.,Ltd.

Address before: 100012 Building 8, Yangshan Park, 30 Anli Road, Chaoyang District, Beijing

Applicant before: Beijing tianjiuyun e-commerce Group Co.,Ltd.

Address after: 100012 Building 8, Yangshan Park, 30 Anli Road, Chaoyang District, Beijing

Applicant after: Beijing tianjiuyun e-commerce Group Co.,Ltd.

Address before: 100012 Building 8, Yangshan Park, 30 Anli Road, Chaoyang District, Beijing

Applicant before: Beijing tianjiuyun e-commerce Co.,Ltd.

GR01 Patent grant
GR01 Patent grant