从零搭建一个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,再查找,数据还在,表示成功

相关文章
相关标签/搜索