欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

spring cloud 分布式链路追踪的方法

程序员文章站 2024-02-13 19:58:58
一篇讲了微服务之间的调用 微服务之间进行调用 那么如果我负责一个模块 别人负责另一个模块 我调用了他的方法 测试那边却报了错 那是我的问题还是他的问题 这个时候大家应该...

一篇讲了微服务之间的调用

微服务之间进行调用 那么如果我负责一个模块 别人负责另一个模块 我调用了他的方法 测试那边却报了错 那是我的问题还是他的问题

这个时候大家应该就能想到日志可以解决这个问题

如何使用日志呢 先在配置文件中加

logging:
 path: d:\logs\poppy-mall #日志的存放地址 最好再加个项目名的文件夹 可以更容易的区分
 level:
  org.poppy.mall: info #日志的级别 org.poppy.mall 是你的包名

然后就可以在你想添加日志的类中写上

public static logger logger =loggerfactory.getlogger(类名.class);

之后就在你想加日志的地方加上 logger.info("日志信息")

运行后会自动在你写的日志存放的地址加入日志文件 (它会自动生成文件夹)

spring cloud 分布式链路追踪的方法

查看一下内容

spring cloud 分布式链路追踪的方法

spring cloud 分布式链路追踪的方法

是这个样子的 这样就解决了排错的问题

那么新问题又来了 如果我调用了几万次这个方法 我怎么才能找得到我这个服务调用的到底是那次请求的另一个微服务?

这时候就用到了分布式链路追踪

先引入依赖 想要追踪那个项目 都要在里面加入这个依赖

compile group: 'org.springframework.cloud', name: 'spring-cloud-starter-sleuth'

之后再运行 查看日志 发现是这个样子

spring cloud 分布式链路追踪的方法

spring cloud 分布式链路追踪的方法

可以发现多出来一串编码 它有什么用呢

粉色框的编码 它代表的是在同一次请求中 编码就相同 红色框的代码 代表的是在同一服务中 它会相同

这样就解决了我们的问题 我们只要找到报错的一次请求 复制粉色框内的编码 到另一个服务的日志中进行查找 就能找到

这就是分布式链路跟踪

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。