使用zipkin實現鏈路跟蹤

使用zipkin我們可以清楚的看到服務的調用過程。尤其是當多個服務相互調用的時候。

實現一個簡單的zipkin的方法如下

創建zipkin server

配置pom文件

		<dependency>
			<groupId>com.netflix.hystrix</groupId>
			<artifactId>hystrix-javanica</artifactId>
		</dependency>
		<dependency>
			<groupId>io.zipkin.java</groupId>
			<artifactId>zipkin-server</artifactId>
			<version>2.11.8</version>
		</dependency>
		<dependency>
			<groupId>io.zipkin.java</groupId>
			<artifactId>zipkin-autoconfigure-ui</artifactId>
			<version>2.11.8</version>
		</dependency>

配置yml

server:
  port: 6001

spring:
  application:
    name: ZipkinServer6001
  sleuth:
    # 不對本身跟蹤
    enabled: false

eureka:
  client:
    serviceUrl:
      defaultZone: http://localhost:7001/eureka/
management.metrics.web.server.auto-time-requests: false

創建啓動類

@SpringBootApplication
@EnableDiscoveryClient
@EnableCircuitBreaker
@EnableZipkinServer
public class ZipkinServerApplication6001 {

	public static void main(String[] args) throws Exception {
		new SpringApplicationBuilder(ZipkinServerApplication6001.class).web(true).run(args);
	}

}

客戶端配置

需要引入zipkin的相關依賴,如下

修改pom

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

修改yml

這裏新增了zipkin服務端的路徑

spring:
  application:
    name: RESTAPI
  zipkin:
    base-url: http://localhost:6001

測試

在這裏插入圖片描述

在這裏插入圖片描述

可以看到我們訪問的http://localhost:8001/feignClass/class/1時的調用過程是先調用gateview8001,後代調用restapi 服務。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章