天天看點

一站式微服務架構SpringCloud-Netflix分布式鍊路跟蹤Sleuth+Zipkin一站式微服務架構SpringCloud-Netflix分布式鍊路跟蹤Sleuth+Zipkin

目錄

  • 一站式微服務架構SpringCloud-Netflix分布式鍊路跟蹤Sleuth+Zipkin
    • 項目中使用Sleuth+Zipkin
      • 建立Zipkin服務
      • 設定用戶端服務
    • Elasticsearch進行zipkin持久化

一站式微服務架構SpringCloud-Netflix分布式鍊路跟蹤Sleuth+Zipkin

項目中使用Sleuth+Zipkin

建立Zipkin服務

添加依賴

<dependency>
    <groupId>io.zipkin.java</groupId>
    <artifactId>zipkin-server</artifactId>
    <version>2.12.3</version>
    <exclusions>
        <exclusion>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-slf4j-impl</artifactId>
        </exclusion>
    </exclusions>
</dependency>
<dependency>
    <groupId>io.zipkin.java</groupId>
    <artifactId>zipkin-autoconfigure-ui</artifactId>
    <version>2.12.3</version>
</dependency>

           

配置檔案

server.port=9410
management.metrics.web.server.auto-time-requests=false
           

啟動類

@EnableZipkinServer
@SpringBootApplication
public class SpringcloudDomeServerZipkinApplication {
    public static void main(String[] args) {
        SpringApplication.run(SpringcloudDomeServerZipkinApplication.class, args);
    }
}
           

啟動項目,通路http://localhost:9410

一站式微服務架構SpringCloud-Netflix分布式鍊路跟蹤Sleuth+Zipkin一站式微服務架構SpringCloud-Netflix分布式鍊路跟蹤Sleuth+Zipkin

設定用戶端服務

在各個微服務中添加依賴

<dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-sleuth</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-zipkin</artifactId>
        </dependency>
           

添加配置

spring.zipkin.base-url=http://localhost:9410
#發送跟蹤資料到zipkin的類型
spring.zipkin.sender.type=web
#采樣數量,預設是0.1,也就是10%,1.0全采樣,但是會影響性能
spring.sleuth.sampler.probability=1.0
           

測試:

啟動所有服務,通路消費者項目,然後檢視zipkin

一站式微服務架構SpringCloud-Netflix分布式鍊路跟蹤Sleuth+Zipkin一站式微服務架構SpringCloud-Netflix分布式鍊路跟蹤Sleuth+Zipkin

選擇一個進入

一站式微服務架構SpringCloud-Netflix分布式鍊路跟蹤Sleuth+Zipkin一站式微服務架構SpringCloud-Netflix分布式鍊路跟蹤Sleuth+Zipkin
一站式微服務架構SpringCloud-Netflix分布式鍊路跟蹤Sleuth+Zipkin一站式微服務架構SpringCloud-Netflix分布式鍊路跟蹤Sleuth+Zipkin

Elasticsearch進行zipkin持久化

zipkin服務添加依賴

<dependency>
            <groupId>io.zipkin.java</groupId>
            <artifactId>zipkin-autoconfigure-storage-elasticsearch-http</artifactId>
            <version>2.8.4</version>
     </dependency>
           

配置檔案添加elasticsearch資料源

zipkin.storage.type=elasticsearch
zipkin.storage.elasticsearch.cluster=elasticsearch
zipkin.storage.elasticsearch.hosts=http://localhost:9200
zipkin.storage.elasticsearch.index=zipkin
           

繼續閱讀