3.2.6 链路追踪

Spring Cloud Sleuth(Spring Cloud链路追踪)是指可将追踪消息发送给Zipkin或者RabbitMQ等消息中间件。图3-8所示为链路追踪示例,由图可以看出,一次调用分配一个全局唯一的traceid,在每到达一个服务时,会产生一个trace内的唯一spanid,这样就可以通过spanid之间的时间差来确定服务之间的调用关系了。当然,实际追踪过程中一般会设置采样率,因为设置spanid埋点会带来一定的性能损耗,并且有一部分的调用是没有必要采集非常详细的调用信息的。

图3-8 链路追踪示例