分布式消息系统中应用依赖关系的监测系统及监测方法与流程

文档序号:12278909阅读:491来源:国知局
分布式消息系统中应用依赖关系的监测系统及监测方法与流程

本发明涉及一种分布式消息系统中应用依赖关系的监测系统及监测方法。



背景技术:

目前,在互联网公司中,微服务架构非常流行,每一个微服务都作为一个应用部署在服务器中,因此整个系统就同时运行着众多的应用,而且为了让众多的应用之间进行解耦,互联网公司经常会使用分布式消息系统来作为弱依赖关系的应用之间的沟通桥梁。这样就会造成一个问题,就是某个服务的开发者,即生产者很难实时查询到自己发出的消息被哪些服务消费,无法方便地获取生产者应用与消费者应用之间的依赖关系。



技术实现要素:

本发明要解决的技术问题是为了克服现有技术中分布式消息系统中无法方便地获取生产者应用与消费者应用之间的依赖关系的缺陷,提供一种分布式消息系统中应用依赖关系的监测系统及监测方法。

本发明是通过下述技术方案来解决上述技术问题的:

一种分布式消息系统中应用依赖关系的监测系统,其特点在于,所述监测系统包括监测消息模块及应用依赖关系服务器;

所述监测消息模块用于获取分布式消息系统中消息的生产者应用信息及订阅所述消息的消费者应用信息,所述监测消息模块还用于将所述生产者应用信息及所述消费者应用信息每隔一预设时间间隔上传至所述应用依赖关系服务器,所述应用依赖关系服务器用于根据所述生产者应用信息及所述消费者应用信息来计算生产者应用与消费者应用之间的依赖关系信息,并且将所述依赖关系信息根据不同的消息来进行分类及统计。

较佳地,所述监测消息模块包括监控单元,所述监控单元设置于所述分布式消息系统的消息服务器的应用程序中,所述监控单元用于获取分布式消息系统中消息的生产者应用信息及订阅所述消息的消费者应用信息。

较佳地,所述监测消息模块还用于对不同的消息的生产者应用信息及消费者应用信息进行分类,生成消息的生产者应用信息列表及消费者应用信息列表,并且对不同的消息的生产者应用信息列表及消费者应用信息列表进行缓存。

较佳地,所述监测系统还包括应用依赖关系数据库,所述应用依赖关系数据库用于存储所述依赖关系信息;和/或,

所述监测系统还包括应用依赖关系展示模块,所述应用依赖关系展示模块用于通过web(互联网总称)站点来展示所述依赖关系信息。

在本方案中,相关人员可通过web站点方便及直观地查询到各类生产者应用与消费者应用之间的依赖关系。

较佳地,所述预设时间间隔为1秒。

一种分布式消息系统中应用依赖关系的监测方法,其特点在于,所述监测方法利用如上述的监测系统来实现,所述监测方法包括以下步骤:

S1、获取分布式消息系统中消息的生产者应用信息及订阅所述消息的消费者应用信息;

S2、将所述生产者应用信息及所述消费者应用信息每隔一预设时间间隔上传至所述应用依赖关系服务器;

S3、根据所述生产者应用信息及所述消费者应用信息来计算生产者应用与消费者应用之间的依赖关系信息,并且将所述依赖关系信息根据不同的消息来进行分类及统计。

较佳地,在步骤S1中,从所述分布式消息系统的消息服务器的应用程序中获取分布式消息系统中消息的生产者应用信息及订阅所述消息的消费者应用信息。

较佳地,在步骤S1中,还对不同的消息的生产者应用信息及消费者应用信息进行分类,生成消息的生产者应用信息列表及消费者应用信息列表,并且对不同的消息的生产者应用信息列表及消费者应用信息列表进行缓存。

较佳地,在执行步骤S3之后,所述监测方法还执行以下步骤:

S41、存储所述依赖关系信息;和/或,

在执行步骤S3之后,所述监测方法还执行以下步骤:

S42、通过web站点来展示所述依赖关系信息。

在本方案中,相关人员可通过web站点方便及直观地查询到各类生产者应用与消费者应用之间的依赖关系。

较佳地,所述预设时间间隔为1秒。

在符合本领域常识的基础上,上述各优选条件,可任意组合,即得本发明各较佳实例。

本发明的积极进步效果在于:

通过本发明提供的分布式消息系统中应用依赖关系的监测系统及监测方法,生产者能够实时查询到自己发出的消息被哪些服务消费,能够实时、方便、直观地让相关人员获取分布式消息系统中各个生产者应用与消费者应用之间的依赖关系,从而可以发现各个应用之间的耦合关系,为分布式消息系统的解耦及排查故障提供有力的支持。

附图说明

图1为本发明较佳实施例的分布式消息系统中应用依赖关系的监测系统的结构示意图。

图2为本发明较佳实施例的分布式消息系统中应用依赖关系的监测方法的流程图。

具体实施方式

下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实施例范围之中。

如图1所示,本实施例提供一种分布式消息系统中应用依赖关系的监测系统,所述监测系统包括监测消息模块1、应用依赖关系服务器2、应用依赖关系数据库3及应用依赖关系展示模块4,监测消息模块1包括监控单元11,监控单元11设置于所述分布式消息系统的消息服务器的应用程序中,且用于获取所述分布式消息系统中消息的生产者应用信息及订阅所述消息的消费者应用信息。

具体的,监测消息模块1用于通过监控单元11获取所述分布式消息系统中消息的生产者应用信息及订阅所述消息的消费者应用信息,即在分布式消息系统的客户端DLL(Dynamic Link Library,动态链接库)文件、消息服务器DLL文件及消息订阅者DLL文件中植入监控代码,也可在jar(java的一种文档格式)文件中植入监控代码,植入监控代码为监控单元11的一种具体实施方式,并不仅限于此方式,也可根据实际情况来做出选择。监测消息模块1还用于对不同的消息的生产者应用信息及消费者应用信息进行分类,生成消息的生产者应用信息列表及消费者应用信息列表,并且对不同的消息的生产者应用信息列表及消费者应用信息列表进行缓存。监测消息模块1还用于将所述生产者应用信息及所述消费者应用信息每隔一预设时间间隔上传至应用依赖关系服务器2,在本实施例中,所述预设时间间隔为1秒,也可根据实际情况进行相应的调整。

应用依赖关系服务器2用于根据所述生产者应用信息及所述消费者应用信息来计算生产者应用与消费者应用之间的依赖关系信息,并且将所述依赖关系信息根据不同的消息来进行分类及统计。应用依赖关系服务器2还用于将分类后的依赖关系信息整合为列表发送至应用依赖关系数据库3。应用依赖关系数据库3用于存储所述依赖关系信息。应用依赖关系展示模块4用于从应用依赖关系数据库3查询需展示的依赖关系信息,并且通过web站点来展示需展示的依赖关系信息,相关人员可通过web站点方便及直观地查询到各类生产者应用与消费者应用之间的依赖关系。

本实施例还提供一种分布式消息系统中应用依赖关系的监测方法,所述监测方法利用如上述的监测系统来实现,如图2所示,所述监测方法包括以下步骤:

步骤101、从分布式消息系统的消息服务器的应用程序中获取分布式消息系统中消息的生产者应用信息及订阅消息的消费者应用信息,对不同的消息的生产者应用信息及消费者应用信息进行分类,生成消息的生产者应用信息列表及消费者应用信息列表,并且对不同的消息的生产者应用信息列表及消费者应用信息列表进行缓存。

在本步骤中,在分布式消息系统的客户端DLL文件、消息服务器DLL文件及消息订阅者DLL文件中植入监控代码,也可在jar文件中植入监控代码,从而获取分布式消息系统中消息的生产者应用信息及订阅消息的消费者应用信息,但并不仅限于此方法,也可根据实际情况来做出选择。

步骤102、将生产者应用信息及消费者应用信息每隔一预设时间间隔上传至应用依赖关系服务器。

在本步骤中,所述预设时间间隔为1秒,也可根据实际情况进行相应的调整。

步骤103、根据生产者应用信息及消费者应用信息来计算生产者应用与消费者应用之间的依赖关系信息,并且将依赖关系信息根据不同的消息来进行分类及统计。

步骤104、存储依赖关系信息。

在本步骤中,应用依赖关系数据库存储从应用依赖关系服务器接收到的依赖关系信息。

步骤105、通过web站点来展示依赖关系信息。

在本步骤中,从应用依赖关系数据库查询需展示的依赖关系信息,并且通过web站点来展示需展示的依赖关系信息,相关人员可通过web站点方便及直观地查询到各类生产者应用与消费者应用之间的依赖关系。

通过本实施例提供的分布式消息系统中应用依赖关系的监测系统及监测方法,生产者能够实时查询到自己发出的消息被哪些服务消费,能够实时、方便、直观地让相关人员获取分布式消息系统中各个生产者应用与消费者应用之间的依赖关系,从而可以发现各个应用之间的耦合关系,为分布式消息系统的解耦及排查故障提供有力的支持。

虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1