使用Zipkin:分布式追踪系统(服务追踪)
配置信息:
1.zipkinService服务: 与springboot整合,服务默认端口9411
部分Code:
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import zipkin.server.EnableZipkinServer;
/**
* 追踪服务
*/
@SpringBootApplication
@EnableZipkinServer
public class ZipkinStart {
public static void main(String[] args) {
SpringApplication.run(ZipkinStart.class, args);
}
}
pom依赖:
<dependency>
<groupId>io.zipkin.java</groupId>
<artifactId>zipkin-server</artifactId>
</dependency>
<dependency>
<groupId>io.zipkin.java</groupId>
<artifactId>zipkin-autoconfigure-ui</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
2.其它服务引用springcloud 整合的插件 即可。
spring-cloud-sleuth-zipkin
3.接口调用(如调用登录接口,访问本机 http://localhost:9411/ 即可看到如上图服务追踪界面)
从上图可看出服务调用过程中引用了哪些服务、服务间调用所花费的时间等,可判断出哪些接口需要优化等)
过程详解:参照Zipkin官网的流程图
总结:
虽然收集服务调用信息的过程是异步,但仍然对系统性能(服务质量)有损耗
(针对具体业务场景未做深入分析,待完善)
参考: