接口监控问题
监测性能瓶颈(解决方案
Sleuth
)
在
provider
和
consumer
中添加
jar
<!--引入sleuth jar-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-sleuth</artifactId>
<version>1.2.5.RELEASE</version>
</dependency>
运行项目,调用接口,在
consumer
中看到,表示成功,如下图:

1.Spring Cloud Sleuth 整合Zipkin
Zipkin
简介
Zipkin 是一种分布式跟踪系统。它有助于收集解决微服务架构中的延迟问题所需的时序数据。它管理这些数据的收集和查找。
Sleuth
代码示例
创建项目
demo-cloud-sleuth
,修改版本号
修改端口号
7700
引入
jar
<!--引入zipkin jar-->
<dependency>
<groupId>io.zipkin.java</groupId>
<artifactId>zipkin-server</artifactId>
<version>1.23.2</version>
</dependency>
<dependency>
<groupId>io.zipkin.java</groupId>
<artifactId>zipkin-autoconfigure-ui</artifactId>
<version>1.28.0</version>
</dependency>
在
provider
和
consumer
中添加
jar
<!--引入zipkin jar-->
<dependency>
<groupId>io.zipkin.java</groupId>
<artifactId>zipkin-server</artifactId>
<version>1.23.2</version>
</dependency>
在
provider
和
consumer
配置
ym

启动项目,
provider
,
consumer
,
sleuth
,发送
consumer
请求,输入
sleuth
地址:
http://localhost:7700

选择服务,选择时间,点击
Find Traces
2.
使用
mysql
存储数据
前文示例中 Zipkin Server 都是将数据保存在内存中,重启 Zipkin Server 后就不能查看到之前的数据了
创建数据库
zipkin
官方脚本
https://github.com/openzipkin/zipkin/blob/master/zipkin-storage/mysql-v1/src/main/resources/ mysql.sql
在
demo-cloud-sleuth
项目中引入
jar
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>io.zipkin.java</groupId>
<artifactId>zipkin-server</artifactId>
<version>1.28.0</version>
</dependency>
<dependency>
<groupId>io.zipkin.java</groupId>
<artifactId>zipkin-autoconfigure-ui</artifactId>
<version>1.28.0</version>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zipkin</artifactId>
<version>1.2.5.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-sleuth-zipkin-stream</artifactId>
<version>1.2.1.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-stream-binder-rabbit</artifactId>
<version>1.2.1.RELEASE</version>
</dependency>
<dependency>
<groupId>io.zipkin.java</groupId>
<artifactId>zipkin-storage-mysql</artifactId>
<version>1.16.2</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
修改配置文件yml

启动类添加注解@EnableZipkinStreamServer
在provider和consumer中添加jar ,并删除spring-cloud-starter-zipkin.jar
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-sleuth-stream</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-stream-binder-rabbit</artifactId>
<version>1.2.1.RELEASE</version>
</dependency>
运行项目,查看数据库与接口相应时间