分布式业务跟踪系统及方法与流程

文档序号:13685651阅读:625来源:国知局
分布式业务跟踪系统及方法与流程

本发明涉及分布式应用技术领域,特别涉及一种分布式业务跟踪系统及方法。



背景技术:

为了支撑日益增长的庞大业务量,我们会把服务进行整合、拆分,使我们的服务不仅能通过集群部署抵挡流量的冲击,又能根据业务进行灵活的扩展。其中,一次用户请求少则经过三四次服务调用完成,多则跨越几十个甚至是上百个服务节点。而相关技术中,只是单靠人力来掌握整个请求中各个阶段的性能开销,这种办法,针对少数的服务调用来说可以实行,但对于掌握跨越几十个甚至是上百个服务节点的性能开销来说非常困难,更无法快速的定位系统中性能瓶颈。



技术实现要素:

本发明旨在至少在一定程度上解决上述相关技术中的技术问题之一。

为此,本发明的一个目的在于提出一种分布式业务跟踪系统。该分布式业务跟踪系统能收集来自各个异构系统的微服务的实时监控数据,并呈现出微服务结构下的依赖关系,从而能达到追踪微服务架构下的系统延时问题的目的。

本发明的另一个目的在于提出一种分布式业务跟踪方法。

为了实现上述目的,本发明的一方面公开了一种分布式业务跟踪系统,包括:收集数据模块,所述收集数据模块用于接收分布式各个业务系统的服务器处理的微服务的数据信息,其中,所述微服务为用户请求拆分成多个有依赖关系的微请求;存储模块,所述存储模块与所述收集数据模块相连,用于存储所述收集数据模块接收的数据信息;查询模块,所述查询模块与所述存储模块相连,用于在接收请求后触发查询以获取所述存储模块中的数据;显示模块,所述显示模块与所述查询模块相连,用于显示所述查询结果。

根据本发明的分布式业务跟踪系统,能收集来自各个异构系统的微服务的实时监控数据,并呈现出微服务结构下的依赖关系,从而能达到追踪微服务架构下的系统延时问题的目的。

另外,根据本发明上述实施例的分布式业务跟踪系统还可以具有如下附加的技术特征:

进一步地,所述请求分成多个有依赖关系的微请求,以使分布式各个业务系统的服务器进行处理。

进一步地,所述请求包括:调用服务、缓存服务、数据库服务和rpc服务。

进一步地,所述数据信息包括:处理服务时长、各个服务性能。

进一步地,所述显示模块显示查询结果以键值对的形式呈现。

本发明的另一方面公开了一种分布式业务跟踪方法,包括:接收分布式各个业务系统的服务器处理的微服务的数据信息,其中,所述微服务为用户请求拆分成多个有依赖关系的微请求;存储所述收集数据模块接收的数据信息;接收请求后触发查询以获取所述存储模块中的数据;显示所述查询结果。

根据本发明的分布式业务跟踪方法,能收集来自各个异构系统的微服务的实时监控数据,并呈现出微服务结构下的依赖关系,从而能达到追踪微服务架构下的系统延时问题的目的。

另外,根据本发明上述实施例的分布式业务跟踪方法还可以具有如下附加的技术特征:

进一步地,所述请求包括:调用服务、缓存服务、数据库服务和rpc服务。

进一步地,所述数据信息包括:处理服务时长、各个服务性能。

进一步地,所述显示模块显示查询结果以键值对的形式呈现。

本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:

图1是根据本发明一个实施例的分布式业务跟踪系统的结构图;以及

图2是根据本发明一个实施例的分布式业务跟踪方法的工作流程图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。

以下结合附图描述根据本发明实施例的分布式业务跟踪系统及方法。

图1是根据本发明一个实施例的分布式业务跟踪系统的结构图。

如图1所示,根据本发明一个实施例的分布式业务跟踪系统,包括:收集数据模块110、存储模块120、查询模块130和显示模块140。

其中,收集数据模块110用于接收分布式各个业务系统的服务器处理的微服务的数据信息,其中,微服务为用户请求拆分成多个有依赖关系的微请求。具体来说,以trace结构表示对一次请求的追踪,又把每个trace拆分为若干个有依赖关系的微请求(span)。在微服务架构中,一次用户请求可能会由后台若干个服务负责处理,那么每个处理请求的服务就可以理解为一个span。当然这个服务也可能继续请求其他的服务,因此span是一个树形结构,以体现服务之间的调用关系。例如:服务器0的数据包括:span:cs,cr,服务器1的数据包括:span:cs,ss,span:cs,cr,span:cs,cr,服务器2的数据包括:span:cs,ss,服务器3的数据包括:span:cs,ss,分布式的服务器0-3均可以将数据统一传输给收集数据模块110,而服务器0和服务器1均包括span:cs,cr即处理一个请求,服务器1、服务器2、服务器3均包括span:cs,ss,即均处理一个请求。

存储模块120与收集数据模块110相连,用于存储收集数据模块接收的数据信息,具体来说,存储模块120可以以树形结构进行存储。查询模块130与存储模块120相连,用于在接收请求后触发查询以获取存储模块中的数据,其中,查询模块130可以为queryapi,提供简单的jsonapi获取数据,以供显示模块使用。显示模块140与查询模块130相连,用于显示查询结果,其中,显示模块140可以为webui,负责提供简单的web页面,呈现分析结果。

根据本发明的分布式业务跟踪系统,能收集来自各个异构系统的微服务的实时监控数据,并呈现出微服务结构下的依赖关系,从而能达到追踪微服务架构下的系统延时问题的目的。

进一步地,请求包括:调用服务、缓存服务、数据库服务和rpc服务等等。

数据信息包括但不限于:处理服务时长、各个服务性能。这样webui的用户界面除了可以查看span的依赖关系之外,还以瀑布图的形式显示了每个span的耗时情况,可以一目了然的看到各个服务的性能状况。进一步地,打开每个span,还有更详细的数据以键值对的形式呈现,而且这些数据可以在配置应用的时候自定义添加。

进一步地,本发明的实施例作为非业务组件,尽可能少侵入或者无侵入其他业务系统;可以配置跟踪请求的采样率,降低对业务系统的压力;从数据的收集和产生,到数据计算和处理,再到最终展现,都尽可能快

图2是根据本发明一个实施例的分布式业务跟踪方法的工作流程图。

如图2所示,本发明一个实施例的分布式业务跟踪方法,包括:

s210:接收分布式各个业务系统的服务器处理的微服务的数据信息,其中,微服务为用户请求拆分成多个有依赖关系的微请求。

s220:存储收集数据模块接收的数据信息。

s230:接收请求后触发查询以获取存储模块中的数据。

s240:显示查询结果。

所述请求包括:调用服务、缓存服务、数据库服务和rpc服务。

所述数据信息包括:处理服务时长、各个服务性能。

根据本发明的分布式业务跟踪方法,能收集来自各个异构系统的微服务的实时监控数据,并呈现出微服务结构下的依赖关系,从而能达到追踪微服务架构下的系统延时问题的目的。

需要说明的是,本发明实施例的分布式业务跟踪方法的具体实现方式与本发明实施例的分布式业务跟踪系统的具体实现方式类似,具体请参见分布式业务跟踪系统部分的描述,为了减少冗余,此处不做赘述。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。

在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

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