使用 Sleuth 和 Zipkin 进行分布式服务跟踪

2018-03-24  本文已影响0人  王睿同学

Zipkin简介

Zipkin 是 Twitter 的一个开源项目,它基于 Google Dapper 实现。可以用来收集各个服务器上请求链路的跟踪数据,并通过 REST API 来辅助查询跟踪数据以实现对分布式系统的监控程序,从而及时地发现系统中出现的延迟升高的问题,找出系统性能瓶颈的根源。除了面向开发的 API 接口之外,它也提供了方便的 UI 组件,来帮助我们直观地搜索跟踪信息和分析请求链路明细,比如:可以查询某段时间内各用户请求的处理时间等。

使用步骤

1. 搭建 Zipkin Server

<dependency>
    <groupId>io.zipkin.java</groupId>
    <artifactId>zipkin-server</artifactId>
</dependency>
<dependency>
    <groupId>io.zipkin.java</groupId>
    <artifactId>zipkin-autoconfigure-ui</artifactId>
</dependency>
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import zipkin.server.EnableZipkinServer;

@EnableZipkinServer
@SpringBootApplication
public class TracingApplication {
    public static void main(String[] args) {
        SpringApplication.run(TracingApplication.class, args);
    }
}
server:
    port: 9411

spring:
    application:
        name: tracing

2. 在微服务中引入和配置 Zipkin

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-zipkin</artifactId>
</dependency>
spring:
    zipkin:
        base-url: http://localhost:9411

3. 测试与分析

上一篇 下一篇

猜你喜欢

热点阅读