首页 > 其他分享 >springcloud动力节点-05Sleuth

springcloud动力节点-05Sleuth

时间:2023-12-28 20:25:53浏览次数:30  
标签:调用 05Sleuth zipkin spring springcloud server 链路 节点 localhost

Spring Cloud Sleuth

1.什么是链路追踪

官网:https://spring.io/projects/spring-cloud-sleuth 链路追踪就是:追踪微服务的调用路径

2.链路追踪的由来

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

3.分布式链路调用的监控

sleuth+zipkin(zipkin 就是一个可视化的监控控制台) Zipkin 是 Twitter 的一个开源项目,允许开发者收集 Twitter 各个服务上的监控数据,并提供查询接口。 该系统让开发者可通过一个 Web 前端轻松的收集和分析数据,例如用户每次请求服务的处理时间等,可方便的监测系统中存在的瓶颈。 

4.Zipkin(可视化平台)

4.1 下载 zipkin

SpringCloud 从 F 版以后已不需要自己构建 Zipkin server 了,只需要调用 jar 包即可 https://dl.bintray.com/openzipkin/maven/io/zipkin/java/zipkin-server/ https://dl.bintray.com/openzipkin/maven/io/zipkin/java/zipkin-server/2.12.9/

4.2 运行 zipkin,环境下cmd

java -jar zipkin-server-2.12.9-exec.jar

 

4.3 查看 zipkin 的控制台

http://localhost:9411

5.相关术语和名词解释

5.1 完整调用链路

 

5.2 简化后

 

调用链路的依赖关系

5.3 名词解释

Trace:类似于树结构的 Span 集合,表示一条调用链路,存在唯一标识 span:表示调用链路来源,通俗的理解 span 就是一次请求信息

6.Sleuth 快速入门

6.1 案例说明

这里我们就不搭建项目了,直接用之前的案例 eureka-server consumer-user-service provider-order-service

6.2 添加依赖

user-center 和 order-center 都要加,所以加在common-api公共接口中
<!-- 链路依赖:spring-cloud-starter-zipkin -->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-zipkin</artifactId>
            <version>2.2.8.RELEASE</version>
        </dependency> 

6.3 修改配置文件

 order-center 都要改配置文件yml 
server:
  port: 8080

spring:
  application:
    name: order-center
  zipkin:
    base-url: http://localhost:9411
  sleuth:
    sampler:
      probability: 1 # 配置采样率,默认的采样比例为0.1,即10%,所设置的值介于0到1之间,1则表示全部采集
      rate: 10  # 为了使用速率限制采样器,选择每秒间隔接收trace量,最小数字为0,最大值2,147,483,647(最大int)默认10.

eureka:
  client:
    service-url:
      defaultZone: http://localhost:8761/eureka
  instance:
    hostname: localhost
    instance-id: ${eureka.instance.hostname}:${spring.application.name}:${server.port}

 user-center 都要改配置文件yml 

server:
  port: 8081

spring:
  application:
    name: user-center
  cloud:
    openfeign:
      circuitbreaker:
        enabled: true # 开启熔断器
  zipkin:
    base-url: http://localhost:9411
  sleuth:
    sampler:
      probability: 1 # 配置采样率,默认的采样比例为0.1,即10%,所设置的值介于0到1之间,1则表示全部采集
      rate: 10  # 为了使用速率限制采样器,选择每秒间隔接收trace量,最小数字为0,最大值2,147,483,647(最大int)默认10.

eureka:
  client:
    service-url:
      defaultZone: http://localhost:8761/eureka
  instance:
    hostname: localhost
    instance-id: ${eureka.instance.hostname}:${spring.application.name}:${server.port}
hystrix:
  metrics:
    enabled: true # 开启熔断器

6.4 启动访问,远程调用一下 

查看 zipkin 

 

点一下依赖 

建议:远程调用的次数不要超过 3 层 2 层最好

 

                     

标签:调用,05Sleuth,zipkin,spring,springcloud,server,链路,节点,localhost
From: https://www.cnblogs.com/yayuya/p/17612460.html

相关文章

  • springcloud动力节点-04Hystrix
    SpringCloudHystrix1.前言1.1什么是服务雪崩   服务雪崩的本质:线程没有及时回收。不管是调用成功还是失败,只要线程可以及时回收,就可以解决服务雪崩1.2服务雪崩怎么解决1.2.1修改调用的超时时长(不推荐)将服务间的调用超时时长改小,这样就可以让线程及时回收,保证服......
  • springcloud动力节点-03OpenFeign
    SpringCloudOpenFeign 1.说在前面上一节我们讲到Ribbon做了负载均衡,用Eureka-Client来做服务发现,通过RestTemplate来完成服务调用,但是这都不是我们的终极方案,终极方案是使用OpenFeign2.OpenFeign简介https://docs.spring.io/spring-cloud-open......
  • Spring Cloud动力节点-07Alibaba简介、注册、配置中心
    1.项目简介SpringCloudAlibaba致力于提供微服务开发的一站式解决方案。此项目包含开发分布式应用微服务的必需组件,方便开发者通过SpringCloud编程模型轻松使用这些组件来开发分布式应用服务。依托SpringCloudAlibaba,您只需要添加一些注解和少量配置,就可以将SpringClo......
  • springcloud动力节点-06Admin监控 Or Gateway网关
    SpringCloudAdmin 监控端点新建工程:admin-serverpom中springcloud版本号和版本控制要添加<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instan......
  • 微服务框架 SpringCloud微服务架构3
    微服务框架SpringCloud微服务架构3Eureka3.1提供者与消费者3.1.1一些概念服务提供者:一次业务中,被其它微服务调用的服务。(提供接口给其它微服务)服务消费者:一次业务中,调用其它微服务的服务。(调用其它微服务提供的接口)在我们的Demo案例中  很明显两者是如下的关系:3......
  • day23 SpringCloud应用改造实践 (8.3.1-8.4.1)
    8.3-1-SpringCloud应用改造实践上一、使用SkyWalkingAgentJava中使用agent,提供以下三种方式实现使用官方提供的基础镜像skywalking-base将agent包构建到已经存在的基础镜像中sidecar模式挂载agent(推荐)1.1使用官方提供的基础镜像https://skywalking.apache.org/downlo......
  • SpringBoot+JaywayJsonPath实现Json数据的DSL(按照指定节点表达式解析json获取指定数
    场景若依前后端分离版手把手教你本地搭建环境并运行项目:若依前后端分离版手把手教你本地搭建环境并运行项目_前后端分离项目本地运行在上面搭建SpringBoot项目的基础上,并且在项目中引入fastjson、hutool等所需依赖后。JaywayJsonPath:GitHub-json-path/JsonPath:JavaJsonPathi......
  • 使用容器快速在阿里云 ECS 多节点上搭建 Citus 12.1 集群
    阿里云ECS机器节点这里我们使用两台同一区域的ECS机器。机器配置:2核2G。(ps:阿里云99元一年的活动)一台安装coordinator(协调器),这里内网IP为172.18.60.11一台安装worker,这里内网IP为172.18.60.12操作系统两台机器分别安装了厂商的AlibabaCloudLinu......
  • K8s中下线Hadoop节点(节点下线,调整副本数)
    K8s中下线Hadoop节点(节点下线,调整副本数)将Hadoop从三副本修改为双副本,同时修改datanode和nodemanager节点数为2修改hadoop节点副本数和datanode以及yarnnodemanager节点数:hadoop.hdfs.replication=2hadoop.hdfs.datanode=2hadoop.yarn.nodemanager=2重启hadoopyarn所有pod......
  • SpringCloud与Dubbo的区别(九)
    前言参看链接:https://blog.csdn.net/huangtenglong/article/details/131144602一、SpringCloud与Dubbo的区别初始定位不同:SpringCloud定位为微服务架构下的一站式解决方案;Dubbo是SOA时代的产物,它的关注点主要在于服务的调用和治理生态环境不同:SpringCloud依托于Spring平台,具......