首页 > 其他分享 >SpringCloud学习笔记(六)——Sleuth快速追踪

SpringCloud学习笔记(六)——Sleuth快速追踪

时间:2022-10-26 16:56:50浏览次数:44  
标签:Sleuth 调用 请求 zipkin SpringCloud sleuth 链路 追踪

一、链路追踪及其由来

链路追踪就是:追踪微服务的调用路径。 在微服务框架中,一个由客户端发起的请求在后端系统中会经过多个不同的服务节点调用来协同产生最后的请求结果,每一个请求都会开成一条复杂的分布式服务调用链路,链路中的任何 一环出现高延时或错误都会引导起整个请求最后的失败。(不建议微服务中链路调用超过 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

相关文章

  • 微服务 Zipkin 链路追踪原理(图文详解)
    一个看起来很简单的应用,可能需要数十或数百个服务来支撑,一个请求就要多次服务调用。当请求变慢、或者不能使用时,我们是不知道是哪个后台服务引起的。这时,我们使用 Zip......
  • SpringCloud(一) - Dubbo + Zookeeper
    Dubbo和Zookeeper不是SpringCloud的东西,放在这里只是为了方便复习;1、下载安装Zookeeper和Dubbo1.1下载安装教程下载安装教程windows环境下安装zookeeper教程详解(单......
  • SpringCloud微服务实战——搭建企业级开发框架(四十六):【移动开发】整合uni-app搭建移动
      近年来uni-app发展势头迅猛,只要会vue.js,就可以开发一套代码,发布移动应用到iOS、Android、Web(响应式)、以及各种小程序(微信/支付宝/百度/头条/飞书/QQ/快手/钉钉/淘宝)、......
  • SpringCloud-04 Feign学习笔记
    @​​TOC​​一、什么是Feign?Feign是声明式WebService客户端,它让微服务之间的调用变得更简单,类似controller调用service。SpringCloud集成了Ribbon和Eureka,可以使用Feigin......
  • SpringCloud-05 Hystrix学习笔记
    @[Toc]一、Hystrix简介1、Hystrix是什么?流量高峰时,一个单节点的宕机或延迟,会迅速导致所有服务负载达到饱和。应用中任何一个可能通过网络访问其他服务的节点,都有可能成为......
  • springcloud学习记录day06--在Java中使用elasticsearch
    RestClient查询文档发起查询请求以matchall为例代码解读:第一步,创建SearchRequest对象,指定索引库名第二步,利用request.source()构建DSL,DSL中可以包含查询、分页......
  • SpringCloud系列之网关gateway-1.概述
    gateway底层是Netty(是高性能的网络通信组件,效率非常高),并且是spring主推的服务,所以SpringBoot项目我们使用gateway就对了。那么gateway能做什么呢?1.作用##2.Gateway对比Zuu......
  • SpringCloud系列之网关gateway-2.Gateway体系架构解析
    打开Gateway的自动装配工厂GatewayAutoConfiguration来看一下,排头第一个类就是Netty。Netty是什么?在网络传输领域Netty就是身份的象征,黄金AK般的存在,它是非阻塞、高性能、高......
  • SpringCloud系列之网关gateway-3.创建默认路由规则
    我们建立一个项目,依赖如下:我们引入了actuator监控组件,eureka组件,可以看到我们没有引入spring-boot-starter-web这个依赖,是因为gateway这个项目较为特殊。图中我们引入了gat......
  • Envoy 分布式追踪
    追踪概述分布式跟踪允许开发人员在大型面向服务的架构中获得调用流的可视化。它对于理解序列化、并行性和延迟来源非常重要。Envoy支持与系统范围跟踪相关的三个功能:请求I......