利用Spring Cloud Sleuth集成的zipkin组件实现服务链路追踪

1.简介

Spring Cloud Sleuth 主要功能就是在分布式系统中提供追踪解决方案,并且兼容支持了 zipkin,你只需要在pom文件中

引入相应的依赖即可。

2.服务追踪分析

微服务架构上是通过业务来划分服务的。通过REST调用,对外暴露的一个接口,可能需要很多个服务协同才能完成这个

接口功能,如果链路上任何一个服务出现问题或者网络超时,都会形成导致接口调用失败。随着业务的不断扩张,服务

之间互相调用会越来越复杂。

Paste_Image.png

随着服务的越来越多,对调用链的分析会越来越复杂。

3.实战

3.1 建立zipkin-server模块,在zipkin服务模块pom.xml中添加依赖如下:


3.2 在程序启动类, 加上注解@EnableZipkinServer,开启ZipkinServer的功能:


3.3 在配置文件application.yml中指定服务端口:



3.4 在自己的业务应用模块里添加依赖:


3.5  在其配置文件中指定zipkin-server的地址,通过配置spring.zipkin.base-url来指定:



3.6 在应用启动类里增加AlwaysSampler类的Bean注入:

注:用于追踪每个调用链路


3.7 依次启动以上三个项目(我这里创建了三个项目,zipkin-server,server-hi,server-miya),

      打开浏览器访问:http://localhost:9411/,会出现以下界面:


3.8 访问:http://localhost:8989/miya,浏览器出现:


3.9 刷新http://localhost:9411/的界面,点击Dependencies,可以发现服务的依赖关系:


3.10 点击find traces,可以看到具体服务相互调用的数据:


点击每一条,可进入查看调用关系和详情。

具体实施方案可根据项目实际情况进行适配。


至此,结束。示例代码可参考如下链接:

https://github.com/kobe910828/zipkin.git

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章