美文网首页
springcloud链路追踪

springcloud链路追踪

作者: 源码互助空间站 | 来源:发表于2019-11-27 22:48 被阅读0次

    一、springcloud sleuth要解决的问题

    1、服务追踪,一条链路上的所有处理给统一的TraceID,通过这个唯一的标识就可以找到完整的链路

    2、每一个微服务的节点处理再给独立的spanID,这样请求合适到达,合适离开节点都有追踪的依据,可以算出时间差

    二、项目整合sleuth

    1、在需要使用链路追踪的项目里添加依赖

    2、log4j.xml引入链路追踪数据

    这里是4个参数,sleuth在源码里已经定义了这4个参数,可以直接使用。

    3、异步线程池

    在这里我们继承了AsyncConfigurerSupport指定了具体的异步执行器,使用LazyTraceExecutor 确保traceId和spanId正确的传递,同时给类加上@EnableAsync 注解。

    这里异步方法必须实现sleuth的线程池,要不前traceId和spanId不能传递。

    三、测试追踪

    1、按顺序启动eureka->feginclient->feginserver

    2、访问接口http://localhost:7070/feignclient/feignTest1

    这里会经历 单线程->异步县城->fegin

    四、问题

    1、无法实现mq队列消息的追踪

    补充:后续已经实现消息队列的链路追踪。

    相关文章

      网友评论

          本文标题:springcloud链路追踪

          本文链接:https://www.haomeiwen.com/subject/ybgqrctx.html