SpringCloudAlibaba技术栈学习(五)Zipkin+Sleuth

第五章 Zipkin+Sleuth链路追踪技术

代码地址:源码地址

1. 链路追踪简介

问题背景:一个请求涉及到多个服务。互联网应用构建在不同的软件模块集上,这些软件模块,有可能是由不同的团队开发、可能使用不同的编程语言来实现、有可能布在了几千台服务器,横跨多个不同的数据中心……
如何快速发现问题?
如何判断故障影响范围?
如何梳理服务依赖以及依赖的合理性?
如何分析链路性能问题以及实时容量规划?
链路追踪功能:分布式链路追踪(Distributed Tracing),就是将一次分布式请求还原成调用链路,进行日志记录,性能监控并将一次分布式请求的调用情况集中展示。
常见技术栈:cat,zipkin(获取并展示数据),pinpoint,skywalking,Sleuth。

2. Sleuth整合

2.1 Sleuth简介

Trace:指的是一条请求的完整链路由一组ID相同的Span串组成。traceId从请求到总达入口时创建,然后一直传递下去直到请求结束。
Span:Span从请求到达微服务入口时创建,到结束时完成创建。
Annotation:用它记录一段时间内的事件,内部使用的重要注释:
cs(Client Send)客户端发出请求,开始一个请求的生命
sr(Server Received)服务端接受到请求开始进行处理, sr- cs = 网络延迟(服务调用的时间)
ss(Server Send)服务端处理完毕准备发送到客户端, ss - sr = 服务器上的请求处理时间
cr(Client Reveived)客户端接受到服务端的响应,请求结束。 cr - sr = 请求的总时间

2.2 整合

在父工程引入依赖,即可整合:

<dependency>
	<groupId>org.springframework.cloud</groupId>
	<artifactId>spring-cloud-starter-sleuth</artifactId>
</dependency>

3. Zipkin整合

Zipkin致力于数据的收集、存储、查找和展现。

3.1 Zipkin服务端安装使用

下载jar包:下载地址
java -jar运行即可
访问localhost:9411即可访问控制台

3.2 Zipkin客户端整合

①在父工程上添加依赖

<dependency>
	<groupId>org.springframework.cloud</groupId>
	<artifactId>spring-cloud-starter-zipkin</artifactId>
</dependency>

②在每个微服务上添加配置:

spring:
	zipkin:
		base-url: http://127.0.0.1:9411/ #zipkin server的请求地址
		discoveryClientEnabled: false #让nacos把它当成一个URL, 而不要当做服务名
	sleuth:
		sampler:
			probability: 1.0 #采样的百分比

即可完成整合。

4. ZipKin数据持久化

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值