一种基于微服务分布式架构链路追踪的方法技术

技术编号:37295530 阅读:15 留言:0更新日期:2023-04-21 22:42
本发明专利技术公开了一种基于微服务分布式架构链路追踪的方法,用于建筑废弃物交易流向监管。采用的技术方案为,微服务模块根据用户发起的交易请求生成spanID1;链路追踪模块根据用户发起的交易请求生成traceID1;执行微服务模块业务方法,根据服务器IP地址、微服务模块名称、业务方法名称、spanID1、traceID1调用的追踪点ID、业务方法开始执行时间、结束执行信息,生成指标信息;中心采集器接收spanID1、traceID1、指标信息后,进行构建并生成多维度的结构化数据后,保存进入分布式存储分片索引;按GET方式执行分布式存储分片索引的查询指令,通过可视化模块进行查询跟踪多维度的结构化数据并进行可视化界面展示。构化数据并进行可视化界面展示。构化数据并进行可视化界面展示。

【技术实现步骤摘要】
一种基于微服务分布式架构链路追踪的方法
[0001]

[0002]本专利技术涉及一种基于微服务分布式架构链路追踪的方法。

技术介绍

[0003]微服务架构:微服务是一种开发软件的架构和组织方法,其中软件由通过明确定义的 API 进行通信的小型独立服务组成。
[0004]分布式链路追踪:分布式链路跟踪系统(Distributed System Tracing,简称 DST)是面向分布式架构、微服务 (Spring Cloud等)架构等的一种具有应用可观察性(Observability)解决方案。
[0005]建筑废弃物:建筑废弃物指人们在从事拆迁、建设、装修、 修缮等建筑业的生产活动中产生的渣土、废旧混凝土、废旧砖石及其他废弃物的统称。
[0006]近年来,随着经济社会和城市建设的快速发展,尤其是城市轨道交通、旧城改造随着生态文明建设的持续推进,省固体废物管理专项工作要求“每一吨固体废弃物的处理去向都要有迹可查”。所以需要利用科技化、信息化的手段规范建筑垃圾处置管理,构建建筑废弃物全生命周期的数字化管理模式,实现建筑废弃物交易处理跟踪。
[0007]当前的废弃物交易处理过程链路是基于单实例的过程,无分布式处理链路支撑,处理能力有限,由于只支持单一场景的过程追踪,也就只能解决部分应用场景的追踪需要,废弃物交易处理过程中上下游环节出现问题,需要通过数据库查询业务数据和应用过程日志数据结合,准确定位问题比较困难,费时费力,并且对于业务处理链路过程、服务处理性能方面无数据统计及展示能力。
[0008]现有废弃物交易服务存在的技术缺点有:服务单例化处理,缺乏分布式多实例能力,导致交易量级大时存在性能问题;单一场景的过程追踪,对于多服务间的链路跟踪存在不足,缺乏链路追踪数据统计和展示能力;运维人员无法快速识别和定位服务性能瓶颈模块。

技术实现思路

[0009]为了解决上诉存在的至少一项技术缺点,本专利技术提供一种基于微服务分布式架构链路追踪的方法。
[0010]为至少改善上述技术问题,本专利技术提出一种基于微服务分布式架构链路追踪的方法,用于建筑废弃物交易流向监管,微服务模块根据用户发起的交易请求生成spanID1;链路追踪模块根据用户发起的交易请求生成traceID1;执行微服务模块业务方法,根据服务器IP地址、微服务模块名称、业务方法名称、spanID1、traceID1调用的追踪点ID、业务方法开始执行时间、结束执行信息,生成指标信
息;中心采集器接收spanID1、traceID1、指标信息后,进行构建并生成多维度的结构化数据后,保存进入分布式存储分片索引;按GET方式执行分布式存储分片索引的查询指令,通过可视化模块进行查询跟踪多维度的结构化数据并进行可视化界面展示。
[0011]进一步的,链路追踪模块对首次进入链路的微服务模块调用使用Snowflake 算法生成标识traceID2。
[0012]进一步的,调用异步线程时,复制当前线程段数据空间文件和 spanID1的特征信息,然后在子线程中进行回放,并将回放快照保存到traceID1 的parentspanID1中并标记。
[0013]进一步的,当微服务模块需要调用下游微服务时;若该下游微服务是首次调用,该下游微服务对应的parentspanID2设置为null或0;若该下游微服务不是首次调用,设置已有的parentspanID3为当前的traceID3后,发起对下游微服务的调用。
[0014]进一步的,如果需要对调下游微服务和上游微服务Http协议中设置Header的SW8的Key值,需要传入的信息包括有traceID2/ traceID2、parentspanID2/ parentspanID3、请求地址信息,通过上下游spanIDContext反序列化Header中的Context信息传递至下游微服务。
[0015]进一步的,中心采集器接进行构建失败,由Data 文件记录 traceID1跟踪信息数据,跟踪信息数据进行缓存方式写入Buffer缓存文件中。
[0016]进一步的,通过内部线程读取Buffer文件进行构建,通过Agent Streaming流式方式对traceID1信息进行计算,并将计算结果经中心采集器接收存入分布式存储分片索引。
[0017]有益的技术效果实现微服务架构自注册、发现、微服务网关、自定义服务间通讯策略以及微服务性能自动检测;实现建筑废弃物交易服务处理过程的追踪以及跟踪链数据的存储、统计和展示,可显著提高建筑废弃物交易处理系统的业务处理及追踪能力,提升开发和运维效率,降低企业研发成本,为微服务架构的分布式建筑废弃物交易处理系统的可靠、高效运行提供了技术保障。
附图说明
[0018]图1为建筑废弃物交易处理过程的分布式链路追踪示意图;图2为建筑废弃物交易追踪数据分布式存储和数据统计示意图。
具体实施方式
[0019]为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0020]需要说明的是,当组件被称为“固定于”另一个组件,它可以直接在另一个组件上或者也可以存在居中的组件。当一个组件被认为是“连接”另一个组件,它可以是直接连接到另一个组件或者可能同时存在居中组件。
[0021]除非另有定义,本文所使用的所有的技术和科学术语与属于本专利技术的
的技术人员通常理解的含义相同。本文中在本专利技术的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本专利技术。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。
[0022]下面结合附图,对本专利技术的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
[0023]traceID:用于标识某一次具体的请求ID。当用户的请求进入系统后,会在RPC调用网络的第一层生成一个全局唯一的traceID,并且会随着每一层的RPC调用,不断往后传递,这样的话通过traceID就可以把一次用户请求在系统中调用的路径串联起来。
[0024]spanID,用于标识一次RPC调用在分布式请求中的位置。请求到达每个服务后,服务都会为请求生成spanID。当用户的请求进入系统后,处在RPC调用网络的第一层A时spanID初始值是0,进入下一层RPC调用B的时候spanID是0.1,继续进入下一层RPC调用C时spanID是0.1.1,而与B处在同一层的RPC调用D的spanID是0.2,这样的话通过spanID就可以定位某一次RPC请求在系统调用中所处的位置。
[0025]parentspanID:用于标识上游RPC调用在分布式请求中的位置。请求到达每本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于微服务分布式架构链路追踪的方法,用于建筑废弃物交易流向监管,其特征在于:微服务模块根据用户发起的交易请求生成spanID1;链路追踪模块根据用户发起的交易请求生成traceID1;执行微服务模块业务方法,根据服务器IP地址、微服务模块名称、业务方法名称、spanID1、traceID1调用的追踪点ID、业务方法开始执行时间、结束执行信息,生成指标信息;中心采集器接收spanID1、traceID1、指标信息后,进行构建并生成多维度的结构化数据后,保存进入分布式存储分片索引;按GET方式执行分布式存储分片索引的查询指令,通过可视化模块进行查询跟踪多维度的结构化数据并进行可视化界面展示。2.根据权利要求1所述的基于微服务分布式架构链路追踪的方法,其特征在于:链路追踪模块对首次进入链路的微服务模块调用使用Snowflake 算法生成标识traceID2。3.根据权利要求1所述的基于微服务分布式架构链路追踪的方法,其特征在于:调用异步线程时,复制当前线程段数据空间文件和 spanID1的特征信息,然后在子线程中进行回放,并将回放快照保存到traceID1 的parentspanID1中并标记。4.根据权利要求3所述的基于微服务分布式架构链路追踪的方法,其特征在...

【专利技术属性】
技术研发人员:郑能欢
申请(专利权)人:深圳数研锦瀚智慧科技有限公司
类型:发明
国别省市:

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

1