java B2B2C Springcloud多租户电子商城系统-Spring Cloud Sleuth

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

愿意了解源码的朋友直接企鹅求求:二一四七七七五六三三

Spring Cloud Sleuth提供了一套完整的服务跟踪的解决方案。Spring Cloud Sleuth借用了Google

Dapper的术语。

Span:工作的基本单位。例如,发送RPC是一个新的跨度,就像发送响应到RPC一样。Span是由一个唯一的64位ID来标识的,而另一个64位ID用于跟踪。span还具有其他数据,如描述、时间戳事件、键值标注(标记)、导致它们的span的ID和进程ID(通常是IP地址)。 可以启动和停止跨度,并跟踪其时间信息。 创建跨度后,必须在将来的某个时刻停止它。

启动跟踪的初始范围称为根跨度。 该范围的ID值等于跟踪ID。

Trace:一组span形成树状结构。 例如,如果运行分布式大数据存储,则可能由PUT请求形成跟踪。

注解:用于及时记录事件的存在。

使用Brave工具,我们不再需要为Zipkin设置特殊事件,以了解客户端和服务器是谁,请求开始的位置以及结束位置。

cs:客户已发送。 客户提出了请求。 此注释表示跨度的开始。

sr:Server Received:服务器端获得请求并开始处理它。 从此时间戳中减去cs时间戳会显示网络延迟。

ss:服务器已发送。 在完成请求处理时(当响应被发送回客户端时)注释。

从此时间戳中减去sr时间戳会显示服务器端处理请求所需的时间。

cr:客户收到了。 表示跨度的结束。 客户端已成功收到服务器端的响应。

从此时间戳中减去cs时间戳会显示客户端从服务器接收响应所需的全部时间。

下图显示了Span和Trace在系统中的外观以及Zipkin注解:

注释的每种颜色表示跨度(有七个跨度 - 从A到G)。 请考虑以下注释:

此注释表示当前跨度的Trace Id设置为X,Span Id设置为D.此外,还发生了Client Sent事件。

Trace Id = X Span Id = D Client Sent 下图显示了跨度的父子关系:

技术架构图:

代码结构图 资料和源码来源

转载于:https://juejin.im/post/5c11baecf265da612e288137

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值