微服务架构是通过业务来划分服务的,使用REST调用。对外暴露的一个接口,可能需要很多个服务协同才能完成这个接口功能,如果链路上任何一个服务出现问题或者网络超市, 都会形成导致接口调用失败。随着业务的不断扩张,服务之间互相调用会越来越复杂。使用链路追踪可以让开发者轻松的收集和分析服务之间调用的关系和请求详情,发现微服务中 出现问题的节点,即使的予以解决。
启动服务端
- 注意:SpringCloud在Finchley版本之后,关于zipkin服务端官方不推荐自行定制编译。
因此直接官网下载jar包,下载地址:https://dl.bintray.com/openzipkin/maven/io/zipkin/java/zipkin-server/
通过以下命令启动服务,默认INFO级别可以不设置logging日志级别
java -jar zipkin-server-2.12.2-exec.jar --logging.level.zipkin2=INFO
服务启动后访问http://localhost:9411
即可看到zipkin的监控页面
创建客户端
在之前的项目springcloud-example
的每个Module项目中添加pom依赖
<!--zipkin链路追踪-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zipkin</artifactId>
</dependency>
在application.yml
中添加以下配置
spring:
zipkin: #zipkin 链路追踪
base-url: http://localhost:9411
访问http://localhost:8765/hi?message=hi,Feign 即可在zipkin监控页面中查看到链路信息
源码地址
Github: https://github.com/yeshang5/springcloud-example