在复杂的微服务系统中,当我们都发出一个Http请求,会调用多个不同的微服务接口来处理请求才能得到最后的结果,如果一个请求出现了异常的情况,我们需要查找具体原因的时候对请求调用的监控与记录就显得尤为重要了;Spring Cloud Sleuth提供了分布式微服务服务链路监控的解决方案,当我们从客户端发出一个Http请求的时候,请求会到达第一个微服务接口,spring cloud sleuth会创建以个traceid和spanid,traceId是整个请求链路的id,而spanid是微服务接口的id,第一接口子在运行过程中又调用了另一个接口,那么spring cloud sleuth再次创建一个spanId,与这个spanid对应有traceId,也就链路id,同时也有parentid,也就是上个微服务接口的spanid,调用下个接口也是这样的操作,spring cloud sleuth 会将生成的数据通过我们项目中集成的zipkin client发送到zipkin服务器上进行保存,我们就可以通过Zipkin可视化界面中查询到我们请求链路的信息;

    spring cloud sleuth https://www.iteye.com/blog/chenjumin-2436984
    sprng cloud zipkin
    2019-11-06_150131.png

    QQ图片20191106121351.jpg

    QQ图片20191106121403.jpg

    SpringCloudSleuth+Zipkin服务链路.doc资料.zip