继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

spring cloud 分布式链路追踪

大话西游666
关注TA
已关注
手记 209
粉丝 140
获赞 620

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

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

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

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

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

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

public static Logger logger =LoggerFactory.getLogger(类名.class);

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

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

https://img1.mukewang.com/5b48c9d100011c3a07900196.jpg

查看一下内容 

https://img2.mukewang.com/5b48c9d9000138a619020275.jpg

https://img3.mukewang.com/5b48c9e00001265506020133.jpg

 

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

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

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

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

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

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

https://img2.mukewang.com/5b48c9e60001fb6815580383.jpg

 

https://img4.mukewang.com/5b48c9ee0001378812030201.jpg

 

 

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

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

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

这就是分布式链路跟踪

原文出处

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP