开发者学堂课程【全面讲解 Spring Cloud Alibaba 技术栈(知识精讲+项目实战)第三阶段:Sleuth 使用】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/685/detail/11899
Sleuth 使用
内容介绍
一、启动
二、总结
一、启动
Sleuth 里有三个词 trace、span、annocation。
接下来通过一个入门案例,切身感受 Sleuth 链路追踪的效果,通过看一下输出的日志能更加明确的了解什么是 trace 和 span 了。
做一下集成,只需要在微服务中加上 Sleuth 依赖,通过之前的项目案例整合Sleuth,完成入门案例的编写
修改父工程,引入 Sleuth 依赖。
<!--链路追踪 Sleuth-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-sleuth</artifactId>
</dependency>
这个版本就不用再写了
所有微服务停掉,再重新依次启动三项微服务。
跑完后再次查看是否启动完。
启动微服务,调用之后,我们可以在控制台观察到 sleuth 的日志输出。
2019-12-08 17:29:35.935 INFO
[gateway, 5399d5cb061971bd,5399d5cb061971bd,false]
2019-12-0817:29:35.997 INFO
[gateway, 5399d5cb061971bd,5399d5cb061971bd, false]
2019-12-08 17:29:36.009 INFO
[gateway, 5399d5 b061971bd,5399d5cb061971bd,false]
2019-12-08 17:29:36.047 INFO
[gateway, 5399d5cb061971bd,5399d5cb061971bd, false]
2019-12-08 17:29:36.050 INFO
[gateway,5399d5cb061971bd,5399d5cb061971bd,false]
微服务名称,traceld,spanid,是否将链路的追踪结果输出到第三方平台
第一个:[api-gateway,
3977125f73391553,3977125f73391553,false]
第二个:[service-order,3977125f73391553,
57547b5bf71f8242,false]
第三个:[service-product,3977125f73391553,
449f5b3f3ef8d5c5,false]
其中5399d5cb061971bd是 Traceld,
5399d5cb061971bd是 Spanld,
依次调用有一个全局的 Traceld,,false 是查看是否输出到其他平台。将调用链路串起来。
通过这三个就能区分出每个微服务,仔细分析每个微服务的日志,不难看出请求的具体过程。
二、总结
怎么知道问题发生在何处,这个时候有一种ui界面,可以更方便的看到结果,通过日志文件查看信息,当微服务越来越多是,日志文件会越来越多。
查看日志文件并不是一个很好的方法,当微服务越来越多日志文件也会越来越多,通过 Zipkin 组件可以将日志收集聚合,并进行可视化展示和全文检索。
Zipkin 的作用是收集、存储、查找和展现,会把链路过程中的时间节点以界面的形式展示给我们,通过界面排查问题就比较容易,接下来就是要运用 Zipkin 把数据收集起来,展示出来。