全链路TraceId跟踪器
作者:互联网
全链路Trace
背景说明
在平常系统开发过程中,很多次会出现系统日志无法串联,导致出现故障问题时无法快速准确的定位,但是实际开发过程中又很容易忽略日志的完整串联,主要体现有:
1、公司内部出现多种日志串联方式,没有统一的日志收集处理机制
2、日志链路无法继承全部的继承框架,每个系统单独进行开发日志串联工具
3、项目紧急无时间开发这部分内容
等等,导致我们没有足够的精力或者实现链路过程中遇到种种阻碍
实现过程中遇到的问题
在项目实现过程中,由于各种限制导致日志数据格式,日志使用的插件,继承系统分布式等插件无法提供一个统一标准的内容,包括标准json格式的日志内容,非标准json格式的数据提取等等,中间有实现标准json数据,但是在不同的项目,不同的部分和公司内总是会出现或多或少的差异,如A公司使用json数,B公司使用非json数据,c公司使用logback,d公司使用log4j等等
最终实现
通过在实现过程中遇到的问题和系统的前置背景,对Trace进行了重新的定义,该Trace仅提供一个全链路的id跟踪,不解析具体的数据格式,对请求入口处进行统一的处理完成整个链路的记录
现有版本的缺陷和优势
现有版本对demo模块实用上不是很突出,并且文档不是很全面,但是对于代码上比较明确的可以看到实用方式,现有demo提供了dubbo的示例,但是无配置文件的示例,后续会进行补充
相关git库地址,如无权限可留言,同时欢迎开源爱好者们加入一起维护
标签:串联,TraceId,Trace,实现,跟踪器,json,链路,日志 来源: https://blog.csdn.net/weixin_41540780/article/details/115794142