Java应用开发(中、高级)课件 任务4.6 实现链路追踪功能_第1页
Java应用开发(中、高级)课件 任务4.6 实现链路追踪功能_第2页
Java应用开发(中、高级)课件 任务4.6 实现链路追踪功能_第3页
Java应用开发(中、高级)课件 任务4.6 实现链路追踪功能_第4页
Java应用开发(中、高级)课件 任务4.6 实现链路追踪功能_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

任务6.实现链路追踪功能任务描述本任务是使⽤Zipkin和Sleuth框架实现业务分析调⽤链路追踪系统,用于分析微服务架构的服务接口问题分析、性能诊断等问题。知识准备1)Sleuth框架在微服务框架中,一个由客户端发起的请求在后端系统中会经过不同的服务节点调用来协同产生的最后的请求结果,每一个前端请求都会形成一条复杂的分布式调用链路,链路中的任何一个环节出现高延时或错误都会引起整个请求的失败。SpringCloudSleuth为SpringCloud实现了分布式跟踪解决方案,且兼容Zipkin,结合Zipkin做链路跟踪。Sleuth是一个工具,能跟踪一个用户请求的过程,捕获到跟踪数据,构建微服务的整个调用链的视图,它是调试和监控微服务的关键工具,可以快速发现错误根源以及监控分析每条请求链路上的性能。2)Zipkin框架Zipkin是一个可视化的分布式跟踪系统。它有助于收集解决服务体系结构中的延迟问题所需的时序数据。Zipkin最初是为了在Cassandra上存储数据而构建的,因为Cassandra是可扩展的,具有灵活的模式,并且在Twitter中大量使用。除了支持Cassandra,还支持ElasticSearch和MySQL。如果日志文件中有跟踪ID,则可以直接跳至该跟踪ID。还可以基于属性进行查询,例如服务,操作名称,标签和持续时间,服务中花费的时间百分比以及操作是否失败。任务实施步骤1:增加Sleuth链路追踪功能1)在各个微服务项目的“pom.xml”文件添加sleuth依赖,<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-sleuth</artifactId></dependency>2)启动全部服务,打开Postman,在地址栏中输入“http://localhost:8762/orderservice/order/api/get?dishesId=1”,通过订单服务调用菜单服务,打开STS的“Console”分析Sleuth日志的结果,如图5-16所示:图5-16Sleuth日志功能可以看到Sleuth在日志中增加“[dishservice,8fa6395f7b567ced,42502fd383b15965]”信息用于日志追踪,分析如下:第一个值:服务名,对应的是的值;第二个值:TraceID,用来标识一条请求链路,一条请求链路中包含一个TraceID;第三个值:SpanID,基本的工作单元,获取元数据。步骤2:构建Zipkin服务端通过Sleuth框架收集到日志链路信息,并不方便开发人员查看分析,通过引入Zipkin框架来实现链路追踪的可视化WEB界面分析调用链路耗时等情况。1)启动Zipkin服务端,下载提供的“zipkin-server-2.12.9-exec.jar”文件,执行“java-jarzipkin-server-2.12.9-exec.jar”命令,启动Zipkin服务端,打开浏览器访问“:9411/”,结果如图

5-17所示:图5-17Zipkin服务步骤3:服务中增加Zipkin客户端在网关服务、菜品服务和订单服务的“pom.xml”文件中添加Zipkin依赖<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-sleuth-zipkin</artifactId></dependency>步骤4:配置Zipkin服务端地址在网关服务、菜品服务和订单服务的“application.yml”文件中配置zipkin和sleuth,注意与application是同层级,通过“zipkin:base-url”设置指向Zipkin服务端地址和“sleuth:sampler:probability”设置采样百分比,设为1代表100%采样,即记录全部的sleuth信息。#服务名称,建议驼峰命名spring:application:name:dishservicezipkin:base-url::9411/discovery-client-enabled:falsesleuth:sampler:probability:1.0步骤5:验证可视化的链路追踪系统1)启动全部服务,打开Postman,在地址栏中输入“http://localhost:8762/orderservice/order/api/get?dishesId=1”。2)在浏览器中访问“:9411/”查看链路追踪系统,可以看到调用的服务名,结果如图5-18所示:图5-18查看链路追踪系统图

5-19查看链路耗时3)选择“orderservice”服务,单击“查询”按钮,可以看到链路耗时情况,结果如下图5-19所示:3)选择“orderservice”服务,单击“查询”按钮,可以看到链路耗时情况,结果如下图5-19所示:图5-20查看链路详情知识小结【对应证书技能】微服务架构系统服务之间调用很多次后端服务才能完成特定功能,当整个请求变慢或不可用时,很难得知该请求是由哪个后端服务引起的,这时就需要解决如何快读定位服务故障点,本任务就是使用Sleuth结合Zipkin构建调⽤链路追踪功能,可以很方便的理清服务间的调用关系,看出每个采样请求的耗时,分析出哪些服务调用比较耗时,然后优化链路。本任务知识技能点与等级证书技能的对应关系见表5-9。任务2知识技能点对应证书技能知识点技能点工作领域工作任务职业技能要求等级开发服务间调用的分析追踪系统;使用Sle

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论