從零搭建一個SpringCloud項目之Sleuth+Zipkin(六)

在須要加監控的服務上進行如下操做java

1、加入Sleuth

  1. 加依賴
<dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-sleuth</artifactId>
 </dependency>

2、加入Zipkin

2.1 使用http的方式

sleuth加入以後是沒有界面的,因此咱們須要使用Zipkin。mysql

服務端:git

  1. 下載Zipkin,下載地址:https://dl.bintray.com/openzipkin/maven/io/zipkin/java/zipkin-server/
  2. 啓動zipkin Server

java -jar .\zipkin-server-2.12.9-exec.jargithub

  1. 進入網頁

http://localhost:9411/web

客戶端:spring

  1. 加依賴
<dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-zipkin</artifactId>
</dependency>
  1. 加配置文件
spring.zipkin.base-url=http://localhost:9411/
spring.sleuth.web.client.enabled=true
#採樣比例,默認0.1,1表示所有上報
spring.sleuth.sampler.probability=1

配置完成,接下來能夠在調用接口,而後進入zipkin的網頁裏查找調用記錄了sql

2.2 升級爲使用MQ

由於每次調用微服務接口都要上報數據,服務端的壓力就會很大,因此能夠選擇採用mq的方式進行削峯,解耦數據庫

  1. 加參數啓動zipkin服務端

RABBIT_ADDRESSES=localhost java -jar ../zipkin-server-2.12.9-exec.jarmaven

  1. 加依賴
<dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-stream-binder-rabbit</artifactId>
  </dependency>
  1. 修改參數
#配置zipkin
#spring.zipkin.base-url=http://localhost:9411/
spring.zipkin.sender.type=rabbit
spring.sleuth.web.client.enabled=true
#採樣比例,默認0.1,1表示所有上報
spring.sleuth.sampler.probability=1
spring.rabbitmq.host=localhost
spring.rabbitmq.port=5672
spring.rabbitmq.username=guest
spring.rabbitmq.password=guest
spring.rabbitmq.virtual-host=/

再次調用就是使用mq的方式上報了。微服務

2.3 使用數據庫存儲

目前數據上報都是存在內存中的,zipkin Server重啓數據就沒了,因此咱們能夠須要持久化一下,經常使用的方式是存ES或者mysql,這裏演示mysql的作法。

  1. 建立數據庫zipkin
  2. 執行官方提供的sql腳本建表

https://github.com/openzipkin/zipkin/blob/master/zipkin-storage/mysql-v1/src/main/resources/mysql.sql

  1. 使用如下命令啓動

RABBIT_ADDRESSES=localhost STORAGE_TYPE=mysql MYSQL_USER=root MYSQL_PASS=root MYSQL_HOST=localhost MYSQL_TCP_PORT=3306 java -jar zipkin-server-2.12.9-exec.jar

  1. 調用微服務

發現數據庫已經開始寫入數據,重啓zipkin,再查找,數據還在,表示成功

相關文章
相關標籤/搜索