一种微服务架构下的全链路监控方法、装置和系统制造方法及图纸

技术编号:16156301 阅读:269 留言:0更新日期:2017-09-06 20:39
本申请公开了一种微应用和微服务交互方法、微应用和系统。在接收到用户发送的http请求后,生成一个调用链逻辑ID,并利用该调用链逻辑ID对http请求的调用链进行标记。同时,利用业务执行过程汇总,利用微服务调用标记对微服务的调用顺序以及嵌套关系进行标记。最后,基于调用链逻辑ID和微服务调用标识生成监控信息,实现对微服务架构下的全链路监控。

【技术实现步骤摘要】
一种微服务架构下的全链路监控方法、装置和系统
本申请涉及微服务领域,更具体地说,涉及一种微服务架构下的全链路监控方法、装置和系统。
技术介绍
微服务是一个新兴的软件架构,就是把一个大型的单个应用程序和服务拆分为数十个的支持微服务。云计算环境下越来越多的业务应用采取微服务架构进行部署,并将每个微服务部署在容器中。采用微服务架构就决定了功能模块的部署是分布式的,大部分功能模块都是单独部署运行的,彼此通过总线交互,都是无状态的服务,前后台的业务流会经过很多个微服务的处理和传递,因此需要跟踪各个微服务之间的调用关系和业务处理顺序,形成一条完整的调用链,便于快速定位和解决问题。
技术实现思路
有鉴于此,本申请提供一种微服务架构下的全链路监控方法、装置和系统,以跟踪各个微服务之间调用关系,跟踪微应用业务流的处理顺序和结果,实现微服务架构下应用的全链路监控。为了实现上述目的,现提出的方案如下:一种微服务架构下的全链路监控方法,包括:接收用户发送的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)对微服务调用的调用顺序以及嵌套关系进行标记。在本实施例中微服务调本文档来自技高网...
一种微服务架构下的全链路监控方法、装置和系统

【技术保护点】
一种微服务架构下的全链路监控方法,其特征在于,包括:接收用户发送的http请求;生成调用链逻辑ID,并利用所述调用链逻辑ID对所述http请求的调用链进行标记;生成微服务调用标识,并利用所述微服务调用标记对所述微服务的调用顺序以及嵌套关系进行标记;根据所述调用链逻辑ID和所述微服务调用标识生成监控信息。

【技术特征摘要】
1.一种微服务架构下的全链路监控方法,其特征在于,包括:接收用户发送的http请求;生成调用链逻辑ID,并利用所述调用链逻辑ID对所述http请求的调用链进行标记;生成微服务调用标识,并利用所述微服务调用标记对所述微服务的调用顺序以及嵌套关系进行标记;根据所述调用链逻辑ID和所述微服务调用标识生成监控信息。2.根据权利要求1所述的方法,其特征在于,所述根据所述调用链逻辑ID和所述微服务调用标识生成监控信息,之后还包括:保存所述监控信息,并将所述监控信息发送至展示界面。3.根权利要求1所述的方法,其特征在于,所述微服务调用标识采用多级序号的方式标识所述微服务的调用顺序以及嵌套关系。4.根据权利要求1所述的方法,其特征在于,所述监控信息还包括:调用时间、调用耗时、微服务名称和微服务ID。5.一种微服务架构下的全链路监控装置,其特征在于,包括:请求接收单...

【专利技术属性】
技术研发人员:田涛夏元轶高灵超罗华永王宇飞吴嘉生
申请(专利权)人:北京中电普华信息技术有限公司国网信息通信产业集团有限公司国家电网公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1