微服务链路跟踪
一、认识微服务跟踪的基础设施
1.zipkin
twitter开源的分布式跟踪系统,它的主要功能是收集系统的时序数据,从而追踪微服务架构的系统延时等问题。同时,它还提供了一个非常友好的界面,来帮助分析追踪数据。另外,它还有助于分析微服务之间的依赖关系。
2.Spring Cloud Sleuth
为Spring Cloud提供了分布式跟踪的解决方案。
3.微服务跟踪的目的
服务之间通过网络进行通信,通过跟踪每个请求,了解请求经过了哪些微服务(从而了解信息是如何在服务之间流动)、请求耗费时间、网络延迟、业务逻辑耗费时间等。
最后,我们可以更好地分析系统瓶颈、解决系统问题。
二、开始实践
1.spring cloud对应的版本使用Greenwich.RELEASE,spring boot对应的版本使用2.0+;
2.下载zipkin-server对应的jar包(springboot2.0之前需要我们手动搭建zipkin-server服务,2.0之后不需要),通过java -jar xxx.jar的方式启动;
3.对应应用的application.yml配置文件增加下面的内容
spring:
application:
name: serviceName
##zipkin服务地址
zipkin:
base-url: http://localhost:9411/
##日志采样(1.0表示100%,采集所有的日志信息)
sleuth:
sampler:
probability: 1.0