一种微服务架构下的全链路监控方法、装置和系统与流程

文档序号:11388968阅读:3653来源:国知局
一种微服务架构下的全链路监控方法、装置和系统与流程

本申请涉及微服务领域,更具体地说,涉及一种微服务架构下的全链路监控方法、装置和系统。



背景技术:

微服务是一个新兴的软件架构,就是把一个大型的单个应用程序和服务拆分为数十个的支持微服务。

云计算环境下越来越多的业务应用采取微服务架构进行部署,并将每个微服务部署在容器中。采用微服务架构就决定了功能模块的部署是分布式的,大部分功能模块都是单独部署运行的,彼此通过总线交互,都是无状态的服务,前后台的业务流会经过很多个微服务的处理和传递,因此需要跟踪各个微服务之间的调用关系和业务处理顺序,形成一条完整的调用链,便于快速定位和解决问题。



技术实现要素:

有鉴于此,本申请提供一种微服务架构下的全链路监控方法、装置和系统,以跟踪各个微服务之间调用关系,跟踪微应用业务流的处理顺序和结果,实现微服务架构下应用的全链路监控。

为了实现上述目的,现提出的方案如下:

一种微服务架构下的全链路监控方法,包括:

接收用户发送的http请求;

生成调用链逻辑id,并利用所述调用链逻辑id对所述http请求的调用链进行标记;

生产微服务调用标识,并利用所述微服务调用标记对所述微服务的调用顺序以及嵌套关系进行标记;

根据所述调用链逻辑id和所述微服务调用标识生成监控信息;

优选的,所述根据所述调用链逻辑id和所述微服务调用标识生成监控信息,之后还包括:

保存所述监控信息,并将所述监控信息发送至展示界面。

优选的,所述微服务调用标识采用多级序号的方式标识所述微服务的调用顺序以及嵌套关系。

优选的,所述监控信息还包括:调用时间、调用耗时、微服务名称和微服务id。

一种微服务架构下的全链路监控装置,包括:

请求接收单元,用于接收用户发送的http请求;

第一标记单元,用于生成调用链逻辑id,并利用所述调用链逻辑id对所述http请求的调用链进行标记;

第二标记单元,用于生产微服务调用标识,并利用所述微服务调用标记对所述微服务的调用顺序以及嵌套关系进行标记;

监控信息生成单元,用于根据所述调用链逻辑id和所述微服务调用标识生成监控信息。

优选的,所述微服务调用标识采用多级序号的方式标识所述微服务的调用顺序以及嵌套关系。

优选的,所述监控信息还包括:调用时间、调用耗时、微服务名称和微服务id。

一种微服务架构下的全链路监控系统,包括:

权利要求5至权利要求7任意一项权利要求所述的监控装置;

数据库,用于存储所述监控信息;

与所述数据库相连的查询接口;

以及与所述查询接口相连展示所述监控信息的展示界面。

经由上述技术方案可知,本申请公开了一种微应用和微服务交互方法、微应用和系统。在接收到用户发送的http请求后,生成一个调用链逻辑id,并利用该调用链逻辑id对http请求的调用链进行标记。同时,利用业务执行过程汇总,利用微服务调用标记对微服务的调用顺序以及嵌套关系进行标记。最后,基于调用链逻辑id和微服务调用标识生成监控信息,实现对微服务架构下的全链路监控。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1示出了本发明一个实施例公开的一种微服务架构下的全链路监控方法的流程示意图;

图2示出了本发明另一个实施例公开的一种微服务架构下的微服务调度示标记示意图;

图3示出了本发明另一个实施例公开的一种微服务架构下的全链路监控装置的结构示意图;

图4示出了本发明另一个实施例公开的一种微服务架构下的全链路监控系统的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

参见图1示出了本发明一个实施例公开的一种微服务架构下的全链路监控方法的流程示意图。

由图1可知,该方法包括:

s101:接收用户发送的http请求。

s102:生成调用链逻辑id,并利用所述调用链逻辑id对所述http请求的调用链进行标记。

每次一个新的hptt请求都会通过一个全局的filter装置生成一个调用链id(traceid),该调用链id后续运行中附加在调用链中,以对http请求的调用链进行标记和区分,不同的调用链对应不同的调用链id,将此id连同上下文对象存储在线程变量中。

s103:生成微服务调用标识,并利用所述微服务调用标记对所述微服务的调用顺序以及嵌套关系进行标记。

在调用链中需要区分微服务之间的调用顺序,也就是业务执行顺序。为此,在本发明中基于微服务调用标记(rpcld)对微服务调用的调用顺序以及嵌套关系进行标记。

参见图2本发明另一个实施例公开的一种微服务架构下的微服务调度示标记示意图。

由图2可知,在本实施例中该调用链的调用链id为:traceld22011。微服务调用标记rpcld为递增一个序号,我们使用多级序号来标记嵌套关系。例如:前端请求的rpcld为0,则其调用的服务a为子服务,rpcld记为0-1,以此类推调用微服务c为0-1-1,调用微服务d为0-1-2;调用微服务b为0-2,调用微服务e0-2-1,形成树形调用结构,rpcid也会随着上下文对象一起存储在线程变量中。

s104:根据所述调用链逻辑id和所述微服务调用标识生成监控信息。

每一次的调用都会分配traceid、rpcld,放在线程变量的调用上下文上面,调用结束的时候,把traceid、rpcld存储到监控信息。另外监控信息中还一般会记录调用时间、远端ip地址、结果状态码、调用耗时之类,也会记录与这次调用类型相关的一些信息,如url、微服务名称、微服务id,消息等。

s105:保存所述监控信息,并将所述监控信息发送至展示界面。

由以上实施例可知,本申请公开了本申请公开了一种微应用和微服务交互。在接收到用户发送的http请求后,生成一个调用链逻辑id,并利用该调用链逻辑id对http请求的调用链进行标记。同时,利用业务执行过程汇总,利用微服务调用标记对微服务的调用顺序以及嵌套关系进行标记。最后,基于调用链逻辑id和微服务调用标识生成监控信息,实现对微服务架构下的全链路监控。

图3示出了本发明另一个实施例公开的一种微服务架构下的全链路监控装置的结构示意图。

由图3可知,该装置包括:请求接收单元1、第一标记单元2、第二标记单元3以及监控信息生成单元4。

请求接收单元1用于接收用户发送的http请求。

在接收到用户发送的http请求后,第一标记单元2用于生成调用链逻辑id,并利用所述调用链逻辑id对所述http请求的调用链进行标记。

如,调用链id为:traceld22011,以对不同的调用链进行区分,不同的调用链id对应不同的调用链。

第二标记单元2生产微服务调用标识,并利用所述微服务调用标记对所述微服务的调用顺序以及嵌套关系进行标记。

在调用链中需要区分微服务之间的调用顺序,也就是业务执行顺序。为此,在本发明中基于微服务调用标记(rpcld)对微服务调用的调用顺序以及嵌套关系进行标记。在本实施例中微服务调用标记rpcld为递增一个序号,我们使用多级序号来标记嵌套关系,如前端请求的rpcld为0,则首先调用微服务a后,rpcld记为0-1,再次调用微服务c后,rpcld记为0-1-1。

当然,在本发明公开的其他实施例也可以采用其他的标记方式对微服务的调用顺序和嵌套关系进行标记,本发明并不限定标记方式。

监控信息生成单元3,用于根据所述调用链逻辑id和所述微服务调用标识生成监控信息。

可选的,控信息中还一般会记录调用时间、远端ip地址、结果状态码、调用耗时之类,也会记录与这次调用类型相关的一些信息,如url、微服务名称、微服务id,消息等。

参见图4示出了本发明另一个实施例公开的一种微服务架构下全链路监控系统的结构示意图。

该系统包括上述实施例中介绍的全链路监控装置以及数据库5、查询接口6以及展示界面7。

全链路监控装置将对微服务的监控信息发送至数据库5中进行持久化存储,同时数据库5为用户提供了查询接口6,以方便用户对数据库5中存储的监控信息进行查询,并且该查询接口与展示界面相连,用于向用户提供可视化的界面展示。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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