SpringCloud学习记录——Sleuth服务链路追踪(Zipkin实现)

点我点我:项目github地址

1、简介。

Spring Cloud Sleuth 主要功能就是在分布式系统中提供追踪解决方案,并且兼容支持了 zipkin,你只需要在pom文件中引入相应的依赖即可。(呃呃,讲人话就是:“既然是搞分布式微服务架构,那么随着项目的越来越大,微服务就会越来越多,微服务之间的调用会越来越复杂,比如A调用B、B调用C、C调用D、D又调用A、B....,服务链路追踪的作用就是用图形化web的方式给我们展现服务之间的调用关系”)。


图片来自:https://blog.csdn.net/fend0875/article/details/70314257

2、服务搭建。

新建maven module,命名为micro-service-zipkin,父项目指向micro,打包方式选择jar,新建方式选择“maven-archetype-webapp”。

pom.xml引入SpringBoot基础包、spring-cloud-starter-eureka、javax.servlet-api,pom.xml依赖包导入、引入ZUUL网关所需依赖zipkin-server、zipkin-autoconfigure-ui,如下图

在src/main/java目录下新建com.xiudoua.study.micro包,在此包下新建一个ZipkinApplication.java类,main方法添加@SpringBootApplication、@EnableZipkinServer、如下图


在src/main/resources目录下新建application.properties文件(此处可新建application.properties或者application.yml文件做配置均可),文件结构如下:

#标注服务名称
spring.application.name=zipkin
#标注服务端口号
server.port=8081

启动ZipkinApplication.java,访问http://localhost:8081即可看到zipkin服务链路追踪主页面,如下图:


3、改造已编写服务支持服务链路追踪。

预计达到效果:add——调用——>feign——调用——>multipl.

给add项目、feign项目、multipl项目的pom.xml均添加spring-cloud-sleuth-zipkin引用(添加所需Jar引用),如下图所示:


给add项目、feign项目、multipl项目的application.properties均添加如下配置指向zipkin服务链路中心:

#JustFresh 2018-04-02 配置服务链路追踪服务器地址
spring.zipkin.base-url=http://localhost:8081

add项目添加一个CallFeignController.java,代码如下:


给feign项目添加一个CallMultiplController.java,代码如下:


分别启动eureka、zipkin、add、feign、multipl,访问http://localhost:8083/zipkinCall、http://localhost:8087/zipkinCall。过大概一分钟后访问http://localhost:8081、点击Dependences即可查看到服务间的关系,如下图:



猜你喜欢

转载自blog.csdn.net/u012459871/article/details/79857777