一、链路追踪及其由来
链路追踪就是:追踪微服务的调用路径。 在微服务框架中,一个由客户端发起的请求在后端系统中会经过多个不同的服务节点调用来协同产生最后的请求结果,每一个请求都会开成一条复杂的分布式服务调用链路,链路中的任何 一环出现高延时或错误都会引导起整个请求最后的失败。(不建议微服务中链路调用超过 3次)所以需要链路追踪技术来分析。二、分布式链路调用解决方案
sleuth+zipkin(zipkin 就是一个可视化的监控控制台) Zipkin 是 Twitter 的一个开源项目,允许开发者收集 Twitter 各个服务上的监控数据,并提供查询接口。 该系统让开发者可通过一个 Web 前端轻松的收集和分析数据,例如用户每次请求服务的处理时间等,可方便的监测系统中存在的瓶颈。 这两个技术是结合使用的,sleuth的作用是在系统中自动埋点并把数据发送给zipkin,zipkin的作用是存储这些数据并展现。说白了,sleuth就是给zipkin服务的。三、Zipkin的安装及使用
首先去官网下载最新的jar包,本质上它是一个springboot项目,然后将其存放在项目路径下。
然后运行这个jar包。
然后再浏览器中输入默认端口号,可以看到运行成功了。
解释一些名词的含义:
Trace:类似于树结构的 Span 集合,表示一条调用链路,存在唯一标识 span:表示调用链路来源,通俗的理解 span 就是一次请求信息这里我们给出一个调用链路当做例子:
四、Sleuth快速入门
4.1 案例说明
这里就不搭建新项目了,就用上一节搭建的user-order项目来测试一下。
4.2 添加依赖
user模块和order模块都要添加如下依赖:
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-zipkin</artifactId> </dependency>
4.3 添加配置项
user模块和order模块都要在yml文件中添加上下列配置。
spring: zipkin: base-url: http://localhost:9411 sleuth: sampler: probability: 1 #配置采样率 默认的采样比例为: 0.1,即 10%,所设置的值介于 0 到 1 之间,1 则表示全部采集,如果设置成0.1就是10次调用中只采集1次 rate: 10 #为了使用速率限制采样器,选择每秒间隔接受的 trace 量,最小数字为 0,最大值为 2,147,483,647(最大 int) 默认为 10
4.4 启动服务器和两台客户端,然后访问
4.5 查看链路追踪结果
标签:Sleuth,调用,请求,zipkin,SpringCloud,sleuth,链路,追踪 From: https://www.cnblogs.com/worthmove/p/16828875.html