网站建设设计780元全包,网站建设默认字体,网络营销公司怎么赚钱的,做网站资金来源是什么一、前言 接下来是开展一系列的 SpringCloud 的学习之旅#xff0c;从传统的模块之间调用#xff0c;一步步的升级为 SpringCloud 模块之间的调用#xff0c;此篇文章为第十篇#xff0c;即介绍 Sleuth 分布式请求链路跟踪。
二、概述
2.1 出现的原因 在微服务框架中从传统的模块之间调用一步步的升级为 SpringCloud 模块之间的调用此篇文章为第十篇即介绍 Sleuth 分布式请求链路跟踪。
二、概述
2.1 出现的原因 在微服务框架中一个由客户端发起的请求在后端系统中会经过多个不同的的服务节点调用来协同产生最后的请求结果每一个前段请求都会形成一条复杂的分布式服务调用链路链路中的任何一环出现高延时或错误都会引起整个请求最后的失败。 2.2 Sleuth 是什么 Spring Cloud Sleuth 提供了一套完整的服务跟踪的解决方案在分布式系统中提供追踪解决方案并且兼容支持了 zipkin。 三、搭建链路监控
3.1 zipkin 下载和安装 SpringCloud 从 F 版起已不需要自己构建 Zipkin Server 了只需调用 jar 包即可。下载地址在这选择合适的版本如下图 下载完成后执行 java -jar zipkin-server-2.18.0-exec.jar 命令运行 jar 包如下图 输入 http://localhost:9411/zipkin/查看管理界面如下图 3.2 相关术语
3.2.1 完整的调用链路 完整的调用链路表示一请求链路一条链路通过 Trace Id 唯一标识Span 标识发起的请求信息各 span 通过 parent id 关联起来。 整个链路的依赖关系如下图 3.2.2 名词解释 1、Trace类似于树结构的 Span 集合表示一条调用链路存在唯一标识。 2、span表示调用链路来源通俗的理解 span 就是一次请求信息。
3.3 案例演示 修改服务提供方 cloud-provider-payment8001 模块添加 zipkin 的依赖如下
!--包含了sleuthzipkin--
dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-zipkin/artifactId
/dependency并修改 application.yml 添加 zipkin 的相关配置信息如下 修改业务类 PaymentController添加如下的方法
GetMapping(/payment/zipkin)
public String paymentZipkin()
{return hi ,iam paymentzipkin server fall backwelcome to atguiguO(∩_∩)O哈哈~;
} 修改服务调用方 cloud-consumer-order80 模块添加 zipkin 的依赖如下
!--包含了sleuthzipkin--
dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-zipkin/artifactId
/dependency并修改 application.yml 添加 zipkin 的相关配置信息如下 修改业务类 OrderController添加如下的方法
// zipkinsleuth
GetMapping(/consumer/payment/zipkin)
public String paymentZipkin()
{String result restTemplate.getForObject(http://localhost:8001/payment/zipkin/, String.class);return result;
}
3.4 测试 依次启动 cloud-eureka-server7001、cloud-provider-payment8001 和 cloud-consumer-order80 模块然后输入http://localhost/consumer/payment/zipkin多调用几次如下 打开浏览器访问 ZipKin 的管理界面http://localhost:9411 如下 查看依赖关系如下