SpringCloud第十一章,升级篇,分布式链路跟踪Sleuth

SpringCloud第十一章,升级篇,分布式链路跟踪Sleuth

一、分布式链路概述

1、为什么

随着分布式系统越来越复杂,你的一个请求发过发过去,各个微服务之间的跳转,有可能某个请求某一天压力太大了,一个请求过去没响应,
一个请求下去依赖了三四个服务,但是你去不知道哪一个服务出来问题,这时候我是不是需要对微服务进行追踪呀?监控一个请求的发起,
从服务之间传递之间的过程,我最好记录一下,
记录每一个的耗时多久,一旦出了问题,我们就可以针对性的进行优化,是要增加节点,减轻压力,
还是服务继续拆分,让逻辑更加简单点呢?这时候springcloud-sleuth集成zipkin能帮我们解决这些服务追踪问题。

2、是什么

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


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

3、相关概念

1、Span:
基本工作单元.例如,在一个新建的span中发送一个RPC等同于发送一个回应请求给RPC,span通过一个64位ID唯一标识,span还有其他数据信息,比如摘要、时间戳事件、关键值注释(tags)、span的ID、以及进度ID.
span在不断的启动和停止,同时记录了时间信息,当你创建了一个span,你必须在未来的某个时刻停止它。

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


2、Trace
一系列spans组成的一个树状结构,例如,如果你正在跑一个分布式大数据工程,你可能需要创建一个trace。

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

3、annocation
cs- Client Sent
cr- Client Received
ss- Server Sent
sr- Server Received


一条链路通过Trace ID唯一标识;
Span标识发起请求信息;
各span通过parent ID关联

在这里插入图片描述

二、分布式链路案例

1、下载运行Zipkin

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

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

运行

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

控制台

http://localhost:9411/zipkin/

2、整合服务提供者

整合cloud-provider-payment-8001

POM添加

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

application.yml

server:
  port
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值