Zipkin搭建分散式鏈路跟蹤平臺 -- 第一篇
阿新 • • 發佈:2018-12-24
zipkin搭建分散式微服務跟蹤平臺
zipkin用於跟蹤微服務之間的呼叫過程 ,具體概念不介紹了,給出搭建過程
- 被跟蹤的微服務簡稱為zipkin client ,收集跟蹤資訊的簡稱為zipkin server,client和server之間支援幾種通訊方式,同步的HTTP,非同步的Kafka或者rabbitmq,server端的儲存有幾種方式,不用資料庫直接存在記憶體,存在mysql,存在ES,或者cassadala,如下
- 按照由易到難的順序會依次給出搭建過程,入門:Http+記憶體 –> Http+Mysql –> Kafka+Mysql –> Kafka + ES ,入門篇是Http + 記憶體的簡易教程
Http+記憶體
Client端:
依賴:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-sleuth</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId >
<artifactId>spring-cloud-sleuth-zipkin</artifactId>
</dependency>
不寫依賴版本需要新增(或者不新增下面的,自己寫依賴版本):
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId >spring-cloud-dependencies</artifactId>
<version>Dalston.SR4</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
配置:
spring.zipkin.enabled=true #預設是true,可以省略
spring.sleuth.sampler.percentage=1 #預設是0.1,收集10%的資訊,1代表全量收集
spring.zipkin.baseUrl=http://ip:port #配置的是zipkinserver的地址,預設是localhost:9411
server端:
依賴:
<dependency>
<groupId>io.zipkin.java</groupId>
<artifactId>zipkin-server</artifactId>
</dependency>
<dependency>
<groupId>io.zipkin.java</groupId>
<artifactId>zipkin-autoconfigure-ui</artifactId>
</dependency>
配置:
server.port = 9441 #我把埠改成9441避免干擾,通常是9411
zipkin.storage.type = mysql
spring.datasource.url = jdbc:mysql://192.168.xx.xx:3306/ifaas_trace ##資料庫地址
spring.datasource.username = xxx #資料庫使用者名稱
spring.datasource.password = xxx #資料庫密碼
spring.datasource.driver-class-name = com.mysql.jdbc.Driver
spring.datasource.schema[0] = classpath:/ifaas_trace.sql #指定初始化資料庫的sql指令碼位置
spring.datasource.initialize = true
spring.datasource.continue-on-error = true
總結
- 到這兩端就搭建完成了,啟動server端可以初始化資料庫,訪問client,即可在server端頁面檢視呼叫資訊,後續附上原始碼