SpringCloud学习笔记(十二)Sleuth 分布式请求链路跟踪
目录
一、Sleuth介绍
1、为什么会出现这个技术?需要解决哪些问题?
2、是什么
二、搭建链路监控步骤
1、zipkin搭建安装
1)下载
2)运行jar
3)运行控制台
4)术语
2、服务提供者 cloud-provider-payment8001
pom.xml
application.yml
controller层
3、服务消费者(调用方)cloud-consumer-order80
pom.xml
application.yml
controller层
4、测试
一、Sleuth介绍
1、为什么会出现这个技术?需要解决哪些问题?
在微服务框架中,一个由客户端发起的请求在后端系统中会经过多个不同的的服务节点调用来协同产生最后的请求结果,每一个前段请求都会形成一条复杂的分布式服务调用链路,链路中的任何一环出现高延时或错误都会引起整个请求最后的失败。
官网:https://github.com/spring-cloud/spring-cloud-sleuth
2、是什么
Spring Cloud Sleuth提供了一套完整的服务跟踪的解决方案,在分布式系统中提供追踪解决方案并且兼容支持了zipkin
二、搭建链路监控步骤
1、zipkin搭建安装
1)下载
SpringCloud从F版起已不需要自己构建Zipkin Server了,只需调用jar包即可
zipkin 下载地址:https://dl.bintray.com/openzipkin/maven/io/zipkin/java/zipkin-server/zipkin-server-2.12.9-exec.jar
2)运行jar
java -jar zipkin-server-2.12.9-exec.jar
3)运行控制台
控制台:http://localhost:9411/zipkin/
4)术语
完整的调用链路: 一条链路通过Trace Id唯一标识,Span标识发起的请求信息,各span通过parent id 关联起来
—条链路通过Trace ld唯一标识,Span标识发起的请求信息,各span通过parent id关联起来。
名词解释:
- Trace:类似于树结构的Span集合,表示一条调用链路,存在唯一标识
- span:表示调用链路来源,通俗的理解span就是一次请求信息
2、服务提供者 cloud-provider-payment8001
cloud-provider-payment8001
pom.xml
改 pom.xml,增加:
<!--包含了sleuth+zipkin-->
<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-zipkin</artifactId>
</dependency>
application.yml
改 application.yml,添加以下内容
spring:zipkin:base-url: http://localhost:9411 # zipkin 地址sleuth:sampler:# 采样率值 介于0-1之间 ,1表示全部采集probability: 1
controller层
改业务类 PaymentController增加:
@GetMapping("/payment/zipkin")public String paymentZipkin(){return "hi, i am paymentzipkin server fall back, welcome to atguigu, O(n_n)O 哈哈~";}
3、服务消费者(调用方)cloud-consumer-order80
pom.xml
改 pom.xml,增加:
<!--包含了sleuth+zipkin-->
<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-zipkin</artifactId>
</dependency>
application.yml
改 application.yml,添加以下内容
spring:zipkin:base-url: http://localhost:9411 # zipkin 地址sleuth:sampler:# 采样率值 介于0-1之间 ,1表示全部采集probability: 1
controller层
改业务类OrderController,增加:
@GetMapping("/consumer/payment/zipkin")public String paymentZipkin(){String result = restTemplate.getForObject(PAYMENT_URL+"/payment/zipkin",String.class);return result;}
4、测试
访问:localhost/consumer/payment/zipkin
在控制台查看调用链路
SpringCloud学习笔记(十二)Sleuth 分布式请求链路跟踪相关推荐
- 吴恩达《机器学习》学习笔记十二——机器学习系统
吴恩达<机器学习>学习笔记十二--机器学习系统 一.设计机器学习系统的思想 1.快速实现+绘制学习曲线--寻找重点优化的方向 2.误差分析 3.数值估计 二.偏斜类问题(类别不均衡) 三. ...
- ROS学习笔记十二:使用roswtf
ROS学习笔记十二:使用roswtf 在使用ROS过程中,roswtf工具可以为我们提供ROS系统是否正常工作的检查作用. 注意:在进行下列操作之前,请确保roscore没有运行. 检查ROS是否安装 ...
- Python语言入门这一篇就够了-学习笔记(十二万字)
Python语言入门这一篇就够了-学习笔记(十二万字) 友情提示:先关注收藏,再查看,12万字保姆级 Python语言从入门到精通教程. 文章目录 Python语言入门这一篇就够了-学习笔记(十二万字 ...
- Polyworks脚本开发学习笔记(十二)-输出和读取文本文件
Polyworks脚本开发学习笔记(十二)-输出和读取文本文件 Polyworks作为一个测量工具,将测量的数据方便的导出到文本文件则是一项必须的功能.在DATA_FILE这个命令下提供了很多子命令用 ...
- OpenCV学习笔记(十二)——图像分割与提取
在图像处理的过程中,经常需要从图像中将前景对象作为目标图像分割或者提取出来.例如,在视频监控中,观测到的是固定背景下的视频内容,而我们对背景本身并无兴趣,感兴趣的是背景中出现的车辆.行人或者其他对象. ...
- 五分钟学会 Spring Cloud Sleuth:分布式请求链路跟踪(小白必看,一看就会教程)
Spring Cloud Sleuth:分布式请求链路跟踪 Spring Cloud Sleuth 简介 给服务添加请求链路跟踪 整合Zipkin获取及分析日志 使用Elasticsearch存储跟踪 ...
- 【现代机器人学】学习笔记十二:轮式移动机器人
目录 轮式机器人类型 全向轮式机器人 建模 单个全向轮是怎么运动的 多个全向轮是如何带动底盘运动的 运动规划和反馈控制 非完整约束轮式移动机器人 建模 独轮车 差速驱动机器人 车型机器人 非完整移动机 ...
- java https请求_Spring Cloud Sleuth:分布式请求链路跟踪
Spring Cloud Sleuth 是分布式系统中跟踪服务间调用的工具,它可以直观地展示出一次请求的调用过程,本文将对其用法进行详细介绍. Spring Cloud Sleuth 简介 随着我们的 ...
- Vue.js 学习笔记 十二 Vue发起Ajax请求
首先需要导入vue-resource.js,可以自己下载引入,也可以通过Nuget下载,它依赖于Vue.js. 全局使用方式: Vue.http.get(url,[options]).then(suc ...
最新文章
- 2021-2027年中国透明导电膜玻璃行业市场研究及前瞻分析报告
- 微服务架构·基础篇,傻瓜看了都会
- 实验技术杂志文献20180126
- 在有限多的不大于100的正整数中,找出尽量多个相加起来值介于98~102之间的组合...
- LeetCode -- 204. Count Primes
- 移动端怎么让底部固定_移动端排名应该怎么做?两种匹配移动端实战排名干货分享...
- 网页文字无法免费复制的几种解决方法
- fastjson生成json时Null属性不显示
- Paradigm 已对 NFT 艺术品铸造和收藏协议 ZORA 进行投资
- Github应用最广泛的开源项目
- 简化前端开发的javascript工具类收集
- Unity Web前端研究
- mysql 1045 拒绝远程链接
- 1.深入浅出:理解三极管截止、放大和饱和状态!——参考《模拟电子技术基础》清华大学华成英主讲
- python---录制音频
- wordpress企业主题
- 2022深圳限行一年几次免罚 有几次机会
- 托福高频真词List17 // 附托福TPO阅读真题
- Visual Studio 2019 许可证过期解决方法
- Vue引入百度地图警告:A Parser-blocking, cross site (i.e. different eTLD+1) script....