Spring Cloud Sleuth+Zipkin实践
来源:互联网 发布:飞鹰网络电视apk 编辑:程序博客网 时间:2024/06/06 08:34
一个由微服务构成的应用系统通过服务来划分问题域,通过REST请求服务API来连接服务来完成完整业务。对于入口的一个调用可能需要有多个后台服务协同完成,链路上任何一个调用超时或出错都可能造成前端请求的失败。服务的调用链也会越来越长,并形成一个树形的调用链。随着服务的增多,对调用链的分析也会越来越复杂。
针对服务化应用全链路追踪的问题,Google发表了Dapper论文,介绍了他们如何进行服务追踪分析。其基本思路是在服务调用的请求和响应中加入ID,标明上下游请求的关系。利用这些信息,可以可视化地分析服务调用链路和服务间的依赖关系。
对应Dpper的开源实现是Zipkin,支持多种语言包括JavaScript,Python,Java, Scala, Ruby, C#, Go等。其中Java由多种不同的库来支持。
Spring Cloud Sleuth是对Zipkin的一个封装,对于Span、Trace等信息的生成、接入HTTP Request,以及向Zipkin Server发送采集信息等全部自动完成。
1. Server 端
1)pom.xml中引入
<dependency>
<groupId>io.zipkin.java</groupId>
<artifactId>zipkin-server</artifactId>
</dependency>
<dependency>
<groupId>io.zipkin.java</groupId>
<artifactId>zipkin-autoconfigure-ui</artifactId>
</dependency>
<dependency>
<groupId>io.zipkin.java</groupId>
<artifactId>zipkin-autoconfigure-storage-mysql</artifactId>
</dependency>
2)主类开启监控:@EnableEurekaClient,@EnableZipkinServer
3)配置 eureka.instance.client.serviceUrl.defaultZone
4)创建zipkin的db实例,配置用户权限,创建相关表 zipkin_annotations,zipkin_dependencies,zipkin_spans
5)配置zipkin存储的db内容:
zipkin:
ui:
environment: zipkin
storage:
type: mysql
mysql:
host: localhost
port: 3306
db: zipkin
username: username
password: password
2. Client 端
1)pom.xml中引入
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-sleuth</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zipkin</artifactId>
</dependency>
2)配置连接的server端地址及采样率
spring:
zipkin:
enabled: true
base-url: http://localhost:9411
sleuth:
sampler:
#采样率, 默认0.1
percentage: 1.0
注意:
1. db实例,表,需手工创建,否则zipkin-server虽然不会报错,但无法采集数据
2. 每1次request生成一个traceId,中间有N个service层,则生成N个spanId,写入spans,annotaions
阅读全文
0 0
- Spring Cloud Sleuth+Zipkin实践
- 全链路spring cloud sleuth+zipkin
- spring cloud 使用sleuth +zipkin 实例测试
- Spring Cloud Sleuth Zipkin 展示追踪数据
- Spring Cloud Sleuth Zipkin 升级使用
- Spring Cloud Sleuth Zipkin 升级使用
- Spring cloud sleuth rabbitmq zipkin mysql分布式服务跟踪分析
- Spring Cloud(六):链路追踪Sleuth与Zipkin结合
- Spring Cloud应用进行服务追踪分析(Zipkin和spring cloud Sleuth)
- Spring Cloud微服务(8)之 sleuth+zipkin日志聚合
- Spring Cloud(七):链路追踪Sleuth-Zipkin与Mysql数据的持久化
- Spring Cloud Sleuth与Zipkin整合时遇到的问题记录
- spring-cloud-sleuth集成zipkin之spring-cloud-1.3.4(Dalston.SR3)-boot(1.5.6) 学习笔记
- Spring Cloud Sleuth 教程
- Spring Cloud Sleuth
- Spring cloud sleuth
- Spring Cloud Sleuth使用简介
- Spring Cloud Sleuth使用简介
- 281
- 备战国赛--Floyd算法的实现
- react native学习笔记5——布局实战篇
- 282
- python beautiful soup库的超详细用法
- Spring Cloud Sleuth+Zipkin实践
- 283
- 284
- DeepLearning(花书)第三章主要内容(1-7节)
- 285
- 286
- 287
- Idesignspec寄存器提取工具
- 288