每天學點SpringCloud(十四):Zipkin使用SpringCloud Stream以及Elasticsearch

Java學習錄發表於2018-12-09

在前面的文章中,我們已經成功的使用Zipkin收集了專案的呼叫鏈日誌。但是呢,由於我們收集鏈路資訊時採用的是http請求方式收集的,而且鏈路資訊沒有進行儲存,ZipkinServer一旦重啟後就會所有資訊都會消失了。基於效能的考慮,我們可以對它進行改造,使用SpringCloud Stream進行訊息傳遞,使用Elasticsearch進行訊息的儲存。

參考文章


Zipkin全鏈路監控

SpringCloud-Stream整合RabbitMQ

改造ZipkinServer

1. 增加依賴
1
2
3
4
5
6
7
8
9
10
複製程式碼
<dependency>
            <groupId>io.zipkin.java</groupId>
            <artifactId>zipkin-autoconfigure-collector-rabbitmq</artifactId>
            <version>2.11.8</version>
        </dependency>
        <dependency>
            <groupId>io.zipkin.java</groupId>
            <artifactId>zipkin-autoconfigure-storage-elasticsearch-http</artifactId>
            <version>2.8.4</version>
        </dependency>
複製程式碼
2. 配置檔案

增加rabbit和es的相關配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
複製程式碼
zipkin:
  collector:
    rabbitmq:
      addresses: 10.0.20.132
      port: 5672
      username: root
      password: root
      virtual-host: /unicode-pay
      queue: zipkin
  storage:
    StorageComponent: elasticsearch
    type: elasticsearch
    elasticsearch:
      hosts: 10.0.20.25:9200
      cluster: elasticsearch
      index: zipkin
      index-shards: 5
      index-replicas: 1
複製程式碼

至此ZipkinServer的配置就搞定了。

3. 客戶端增加依賴

以下兩個依賴任選其一就可以

1
2
3
4
複製程式碼
<dependency>
			<groupId>org.springframework.amqp</groupId>
			<artifactId>spring-rabbit</artifactId>
		</dependency>
複製程式碼
1
2
3
4
複製程式碼
<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-amqp</artifactId>
		</dependency>
複製程式碼
4. 客戶端增加mq的相關配置
1
2
3
4
5
6
7
8
9
10
11
12
複製程式碼
spring:
  sleuth:
    sampler:
      probability: 1.0
  rabbitmq:
    addresses: 10.0.20.132
    port: 5672
    username: root
    password: root
  zipkin:
    rabbitmq:
      queue: zipkin
複製程式碼

注意要把以下配置去掉哦

1
2
3
4
5
複製程式碼
spring:
  zipkin:
    base-url: http://localhost:19411
    sender:
      type: web
複製程式碼

現在環境已經搭建完畢了,根據你的取樣頻率看一看結果如何吧

GitHub地址:github.com/shiyujun/sp…。程式碼所在模組:cloud-demo-zipkin-server,cloud-demo-consumer-feign-hystrix,cloud-demo-provider

如果對您有所幫助,請記得幫忙點一個star哦

本文出自zhixiang.org.cn,轉載請保留。


相關文章