网关
网关运行分析报告
网关运行分析报告 - 2025-02-15
网关运行分析报告 - 2025-02-22
网关运行分析报告 - 2025-02-28
1.shenyu网关内外网使用
2.shenyu网关的具体使用
记一次网关线上问题之icsp访问ERP
再次思考多套ak/sk同时访问同一资源路径问题
网关接入说明
网关接入说明补充
网关分配各系统命名
网关BUG及二开
网关管理端访问地址
修改requestBody与responseBody
shenyu工程理解
获取requestBody异步问题
shenyu工程部署
排查sign插件报错500问题
shenyu数据结构设计
shenyu网关请求过程
shenyu自定义插件
记一次网关线上问题----网关无法对外提供服务
网关插件更新报错问题
网关中grayTag的使用
Exceeded limit on max bytes to buffer : 262144
网关中Divide插件中Selector中Handler中配置丢失问题
网关请求下游系统时长记录
通用测试:获取网关的sign值
网关分发主数据设想方案
铁骑主数据分发机制完善
27.GTMS&ITMS与gateway的关系
28.ZPI与gateway的关系
26.网关验签场景
29.PC端空值,服务端正常请求
30.网关requestMaxSize值
31.跨系统跨语言日志链路追踪
32.网关异步分发讨论
33.网关LoggingConsole丢失日志排查
34.网关升级shenyu-admin
35.网关异步分发插件 - 接入文档
本文档使用「觅思文档专业版」发布
-
+
首页
31.跨系统跨语言日志链路追踪
## 1.背景 集团目前有40多套系统,交互链路错综复杂,有些业务流程横跨几个系统,一旦流程出现问题,排查起来比较麻烦,需要几个系统的技术人员联合排查,基于如上背景,提出了跨系统的日志链路追踪建设需求。 ## 2.建设方案  如上图,用户访问系统A,执行发送请求1的操作,header中记录一个唯一的标识符GUID。 1>系统A收到请求1时,将请求1的requestInfo上报给日志系统,通知执行该请求的业务逻辑。 2>系统A发送请求2时,将请求2的requestInfo上报给日志系统。 3>系统B同系统A一样 4>系统C执行该请求的业务逻辑后,不需要再请求其他系统了,直接记录请求3的requestInfo信息,然后开始执行响应操作了,此时,需要将request的GUID放到response中的header中。 5>系统B记录响应1的responseInfo到日志系统 6>系统A同系统B一样 自此,整个链路结束。链路中的请求/响应中均带的有GUID。 此时,一次完整的请求,日志系统中应该存放有7条记录。 当发生系统故障,技术人员查看日志时,只需要根据发送请求1中的GUID查询数据库中的记录,就可以排查到问题出现在链路中的哪处,找对应的系统负责人排查具体的故障。 ## 3.思考 如上的方案中,涉及到每个系统都要有埋点操作,能否从运维层面思考这个问题,业务系统不需要埋点呢? 目前看来答案是否定的,因为整个链路中涉及到GUID的传递,目前的业务系统不具备传递的功能。 ## 4.基于现状改造 ### 4.1 java系统 如果是java语言系统中的链路传递,可以选用一些开源分布式链路追踪框架来实现。 ### 4.2 非java系统 非java语言的系统,只有自己埋点,实现GUID的传递。 ## 5.网关的作用 由于所有系统之间的交互都走了网关,那么只需要在网关处实现日志的上报就行。因此架构图完善成如下图。 
李贤利
2024年10月13日 12:17
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
Word文件
PDF文档
PDF文档(打印)
分享
链接
类型
密码
更新密码
有效期