springcloud(h版)二阶段学习---分布式请求链路追踪

coder      2022-05-07     225

关键词:

  前言:不断学习就是程序员的宿命。

一、概述

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

  SpringCloud Sleuth提供了一套完整的服务跟踪的解决方案。在分布式系统中提供了追踪解决方案并且兼容支持了zipkin

  官网地址:https://spring.io/projects/spring-cloud-sleuth

 

完整请求链:一条链路通过Trace Id唯一标识,Span标识发起的请求信息,各Span通过parent id关联

 精简官方原理图: 一条链路通过Trace Id唯一标识,Span标识发起的请求信息,各Span通过Parent Id关联

 

整个链路的依赖关系如下:

 

 Trace:类似于树结构的Span集合,表示一条调用链路,存在唯一标识

span:表示调用链路来源,通俗的理解span就是一次请求信息

二、链路监控搭建

  简单来说,Sleuth负责收集整理,zipkin负责展现。

1、下载安装zipkin

  SpringCloud从F版已不需要自己搭建Zipkin Server了,只需调用jar包即可

  下载地址:https://dl.bintray.com/openzipkin/maven/io/zipkin/java/zipkin-server/

  运行zipkin:zipkin-server-2.12.9-exec.jar

 2、测试

2.1、pom添加sleuth依赖

   <!--包含了sleuth+zipkin-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-zipkin</artifactId>
        </dependency>
pom

2.2、application.yml添加sleuth配置

spring:
  application:
    name: cloud-consumer-order
  # zipkin/sleuth链路跟踪
  zipkin:
    base-url: http://localhost:9411
  sleuth:
    sampler:
      # 采样值介于0到1之间,1表示全部采集
      probability: 1
application.yml

简谈springcloud学习

...可以将SOA架构思想理解分为分布式思想架构图: 二、SpringCloud的引入SOA架构存在的问题:  1)无法检 查看详情

java软件工程师一般要学习哪些课程?

...Vue、SpringBoot、项目整合Vue、分布式项目、Zookeepr、Dubbo、Springcloud、Redis、Elasticsearch、Quartz、RocketMQ、FastDFS、Mycat、CAS、分布式锁、分布式事务、微信开发、学生项目等,学员学完后可以胜任大型、超大型互联网项目开发高级工程... 查看详情

java培训内容都有哪些?

...Vue、SpringBoot、项目整合Vue、分布式项目、Zookeepr、Dubbo、Springcloud、Redis、Elasticsearch、Quartz、RocketMQ、FastDFS、Mycat、CAS、分布式锁、分布式事务、微信开发、学生项目等,学员学完后可以胜任大型、超大型互联网项目开发高级工程... 查看详情

springcloud学习系列之五-----配置中心(config)和消息总线(bus)完美使用版(代码片段)

前言在上篇中介绍了SpringCloudConfig的使用,本篇则介绍基于SpringCloud(基于SpringBoot2.x,.SpringCloudFinchley版)中的分布式配置中心(SpringCloudConfig)的配置刷新和消息总线(RabbitMQ和Kafka)使用教程。SpringCloudConfigRefresh在上一篇中我们介绍了spri... 查看详情

springcloud学习系列之五-----配置中心(config)和消息总线(bus)完美使用版(代码片段)

前言在上篇中介绍了SpringCloudConfig的使用,本篇则介绍基于SpringCloud(基于SpringBoot2.x,.SpringCloudFinchley版)中的分布式配置中心(SpringCloudConfig)的配置刷新和消息总线(RabbitMQ和Kafka)使用教程。SpringCloudConfigRefresh在上一篇中我们介绍了spri... 查看详情

springcloud应该如何入门,需要学习哪些基础才可以快速掌握?

学习Springcloud要对SpringBoot有相当的理解与认知,因为Springcloud的基础是SpringBoot。一:什么是SpringcloudSpringcloud是多个项目的集合体,也是多种重要技术的集合体,它是一系列的技术的结合体。学习springcloud需要有足够强大的耐心,... 查看详情

一起学习springcloud的特性

SpringCloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智能路由,微代理,控制总线)。分布式系统的协调导致了样板模式,使用SpringCloud开发人员可以快速地支持实现这些模... 查看详情

springcloud之学习笔记(feign+consul)(代码片段)

SpringCloud之学习笔记SpringCloud为开发者提供了快速构建分布式系统中一些常见模式的工具(例如配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性令牌、全局锁、领导选举、分布式会话、集群状态)。... 查看详情

java之springcloud微服务的开源配置中心apollo(第四个阶段)springboot项目实现商品服务器端调用(代码片段)

SpringCloud学习目录点击跳转对应的文章Java之SpringCloud微服务搭建(第一个阶段)【一】【SpringBoot项目实现商品服务器端是调用】Java之SpringCloud微服务Eureka(第一个阶段)【二】【SpringBoot项目实现商品服务器端是调... 查看详情

springcloud学习分布式配置中心(springcloudconfig)(finchley版本)(代码片段)

...到过,使用配置服务来保存各个服务的配置文件。它就是SpringCloudConfig。简介在分布式系统中,由于服务数量巨多,为了方便服务配置文件统一管理,实时更新,所以需要分布式配置中心组件。在SpringCloud中,有分布式配置中心... 查看详情

springcloud学习心得

SpringCloud介绍SpringCloud为开发人员提供了快速构建分布式系统的常用工具,包括配置管理、服务发现、服务熔断、智能路由、总线、鉴权等。SpringCloud基于SpringBoot实现微服务架构,它是Java项目从单体应用架构向微服务架构变迁的... 查看详情

java之springcloud微服务eureka(第一个阶段)springboot项目实现商品服务器端是调用

SpringCloud学习目录点击跳转对应的文章Java之SpringCloud微服务搭建(第一个阶段)【一】【SpringBoot项目实现商品服务器端是调用】Java之SpringCloud微服务Eureka(第一个阶段)【二】【SpringBoot项目实现商品服务器端是调... 查看详情

springcloud-idea克隆微服务,无需建立两个重复的微服务,节约时间(适合学习阶段)

  查看详情

springcloud分布式事务管理

SpringCloud分布式事务管理在微服务如火如荼的情况下,越来越多的项目开始尝试改造成微服务架构,微服务即带来了项目开发的方便性,又提高了运维难度以及网络不可靠的概率. SpringCloud分布式事务管理单体式架构微服务架... 查看详情

springcloud构建微服务架构分布式服务跟踪(跟踪原理)dalston版

...一篇《分布式服务跟踪(入门)》的例子,我们已经通过SpringCloudSleuth往微服务应用中添加了实现分布式跟踪具备的基本要素。下面通过本文来详细说说实现分布式服务跟踪的一些要点。分布式系统中的服务跟踪在理论上并不复... 查看详情

java之springcloud微服务搭建consul(第一个阶段)springboot项目实现商品服务器端是调用(代码片段)

SpringCloud学习目录点击跳转对应的文章Java之SpringCloud微服务搭建(第一个阶段)【一】【SpringBoot项目实现商品服务器端是调用】Java之SpringCloud微服务Eureka(第一个阶段)【二】【SpringBoot项目实现商品服务器端是调... 查看详情

springcloud学习-高可用的分布式配置中心(springcloudconfig)

1、简介  高可用的分布式配置中心,即将配置中心做成一个微服务,将其集群化,从而达到高可用。config-server和config-client向eureka-server注册,且将config-server多实例集群化部署2、改造config-server   1、我们使用之前创建的eure... 查看详情

springcloud学习笔记

SpringCloud学习笔记系统架构:集中式架构,垂直拆分,分布式服务,服务治理,微服务集中式架构:把所有功能集中部署,低成本,但无法适用于稍复杂的系统垂直拆分:通过将每个业务功能拆分来实现流量分担,每个模块也可... 查看详情