为了账号安全,请及时绑定邮箱和手机立即绑定

spring cloud 分布式链路追踪

标签:
Java

一篇讲了微服务之间的调用  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.sycdn.imooc.com//5b48c9d100011c3a07900196.jpg

查看一下内容 

https://img1.sycdn.imooc.com//5b48c9d9000138a619020275.jpg

https://img1.sycdn.imooc.com//5b48c9e00001265506020133.jpg

 

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

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

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

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

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

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

https://img1.sycdn.imooc.com//5b48c9e60001fb6815580383.jpg

 

https://img1.sycdn.imooc.com//5b48c9ee0001378812030201.jpg

 

 

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

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

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

这就是分布式链路跟踪

原文出处

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消