目錄
- 一站式微服務架構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
設定用戶端服務
在各個微服務中添加依賴
<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
選擇一個進入
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