栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

SpringCloud实战---第十九篇:分布式请求链路跟踪Sleuth

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SpringCloud实战---第十九篇:分布式请求链路跟踪Sleuth

系列文章目录

SpringCloud快速入门到精通各组件原理
专栏传送门


文章目录

系列文章目录一、SpringCloudSleuth链路监控是什么二、安装zipkin三、先构建好基础工程(一篇一篇看过来的不用重新构建)

话不多说,立马开干 四、微服务整合Sleuth

改造服务提供方1. 给8001工程添加sleuth依赖2. 给8001添加yml配置3. 给8001添加一个测试接口改造服务调用方1. 给80工程添加sleuth依赖2. 给80添加yml配置3. 给80添加调用8001测试接口的接口 五、启动测试

O(∩_∩)O哈哈~我们的微服务可以被看到是否健康啦!


一、SpringCloudSleuth链路监控是什么

在微服务框架中,一个由客户端发起的请求在后端系统中会经过多个不同的的服务节点调用来协同产生最后的请求结果,每一个前段请求都会形成一条复杂的分布式服务调用链路,链路中的任何一环出现高延时或错误都会引起整个请求最后的失败。官网:https://github.com/spring-cloud/spring-cloud-sleuthSpring Cloud Sleuth提供了一套完整的服务跟踪的解决方案。在分布式系统中提供追踪解决方案并且兼容支持了zipkin。简单来说,Sleuth就是链路调用监控工具,通过zipkin可以实现图形化的调用链路监测。 二、安装zipkin

SpringCloud从F版起已不需要自己构建Zipkin Server了,只需调用jar包即可。下载地址(自己下载最新的即可):https://repo1.maven.org/maven2/io/zipkin/zipkin-server/zipkin-server-2.12.9-exec.jar运行jar: java -jar zipkin-server-2.12.9-exec.jar

访问可视化界面

http://127.0.0.1:9411/zipkin/

三、先构建好基础工程(一篇一篇看过来的不用重新构建)

构建基础父工程:构建基础父工程
Rest风格微服务:Rest风格微服务
传统分布式方法:传统分布式方法
改造工程,抽取公共模块:改造工程,抽取公共模块
使用Eureka:使用Eureka
Eureka集群: Eureka集群

想偷懒的请下载;gitee上我上传的代码:

https://gitee.com/xiaoZ1712/cloud2021

基础工程构建完成的目录结构:

启动所有模块,访问

localhost:7001

显示如下,代表基础工程没问题

话不多说,立马开干 四、微服务整合Sleuth

我们先改造服务提供方,添加调用链路的监控

改造服务提供方 1. 给8001工程添加sleuth依赖
        
        
            org.springframework.cloud
            spring-cloud-starter-zipkin
        

2. 给8001添加yml配置
zipkin:
  base-url: http://localhost:9411
sleuth:
  sampler:
  #采样率值介于 0 到 1 之间,1 则表示全部采集
  probability: 1

3. 给8001添加一个测试接口
  @GetMapping("/payment/zipkin")
    public String paymentZipkin()
    {
        return "hi ,i'am paymentzipkin server fall back,welcome to atguigu,O(∩_∩)O哈哈~";
    }

改造服务调用方 1. 给80工程添加sleuth依赖
        
        
            org.springframework.cloud
            spring-cloud-starter-zipkin
        

2. 给80添加yml配置
zipkin:
  base-url: http://localhost:9411
sleuth:
  sampler:
  #采样率值介于 0 到 1 之间,1 则表示全部采集
  probability: 1

3. 给80添加调用8001测试接口的接口
// ====================> zipkin+sleuth
@GetMapping("/consumer/payment/zipkin")
public String paymentZipkin()
{
    String result = restTemplate.getForObject(PAYMENT_URL+"/payment/zipkin/", String.class);
    return result;
}

五、启动测试

依次启动7001、8001、80工程,测试80调用几次8001的接口

http://127.0.0.1/consumer/payment/zipkin


多刷新几次
访问zipkin

http://127.0.0.1:9411/zipkin/

按照以下步骤查看服务链路调用

    添加链路查找条件

    选择查找80order工程服务监控
    点击查找

    点击SHOW

    查看依赖


    查看图形化调用链路,点击小圆点可以查看详细信息
O(∩_∩)O哈哈~ 我们的微服务可以被看到是否健康啦!
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/704336.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号