Spring Cloud Sleuth示例

Spring Cloud Sleuth 为 Spring Cloud实现了一个分布式链路跟踪解决方案。

Sleuth概念说明

  • span(跨度):基本工作单元,用一个spanID作为唯一标识。还包含:描述、时间戳事件、span父ID等。初始化的span被称为“root span”,该span的id和trace的ID相等
  • trace(跟踪):一组共享“root span”的span组成的树状结构,用traceID作为唯一标识,trace中所有span共享该traceID
  • annotation(标注):用来记录事件的存在,核心annotation用来定义请求开始和结束

        - CS(Client Sent客户端发送)

        - SR(Server Received服务器端接收):如果用SR减去CS时间戳,得到网络延迟

        - SS(Server Sent服务器端发送):要响应客户端时。如果用SS减去SR,得到服务器端处理请求的时间

        - CR(Client Received客户端接收):客户端接收到响应。如果CR减去CS时间戳,得到客户端发送到最终收到响应总时间

Sleuth工程改造

继续沿用nacos服务注册与发现的nacos-provider 和 nacos-client两个工程做示例。

pom文件

对已有工程增加sleuth链路跟踪,只须要增加sleuth的依赖,代码层面不须要做改动

		
            org.springframework.cloud
            spring-cloud-starter-sleuth
        

日志比对

新启动nacos-client工程和nacos-provider工程,取nacos-client工程改造前后的启动日志,取不同的地方,其余相同的地方日志就不取了

启动前 

2021-01-27 14:51:33.185  INFO 15740 --- [           main] c.a.n.c.c.impl.LocalConfigInfoProcessor  : LOCAL_SNAPSHOT_PATH:C:\Users\PC\nacos\config

启动后

2021-01-27 14:52:48.607  INFO [nacos-client,,,] 11544 --- [           main] c.a

你可能感兴趣的:(#,springcloud,分布式,spring,cloud,spring,boot)