本文作者:陈刚,叩丁狼高级讲师。原创文章,转载请注明出处。
一.为什么需要服务链路追踪
我们知道微服务架构就是按照功能模块把我们的应用抽取成一个一个独立的服务,而服务和服务之间相互调用,相互影响,一个服务可能会去调用很多个其他的服务,由于服务数量众多 ,业务复杂性比较高,如果出现异常或错误,我们很难快速精确的去定位到问题服务,所以在微服务的架构中,必须实现分布式链路追踪,去追踪出每一个服务每一个请求到底有哪些服务的参与,请求路线到底是如何执行的,从而让我们服务之间的调用关系清晰可见,出现问题也能够快速进行定位。本章主要讲述在Spring Cloud Sleuth中集成Zipkin ,常见的链路追踪组件有:阿里的Eagleeye等,Twitter的Zipkin等
二. 链路追踪服务中心
链路追踪的实现和服务注册有点类似 ,我们需要创建一个链路追踪服务中心去负责追踪,和存储这些服务之间的链路数据。而我们的每个服务需要配置链路追踪服务中心地址,指向服务中心。实现链路追踪原理也很简单,
1.搭建SpringBoot应用 server-zipkin ,引入zipkin 相关依赖
pom.ml如下:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.4.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<