Spring cloud Alibaba 之 分布式链路追踪 sleuth

什么是链路追踪:微服务之间相互调用,每一个请求过来可能调用多个服务,比如:一个请求调用A 服务,A 又依赖B 服务,B又依赖C 服务。这样形成一个调用链,当我们查询日志的时候都需要知道一个请求的完整路径,这个时候链路追踪就产生作用,A 调用B 的时候会长生traceid ,传递B ,B 调用C 的时候同样会把 这个traceid 传递给C ,这样下来一个请求,对应每个服务都会有一个唯一的traceid , 查询日志的时候就可以个根据这个traceid 去查询对应的日志,日常工作中一般应用于ELK, 可视化日志平台,根据traceid 一下查询出该请求所有相关日志,废话不多少,直接上代码

1 倒入jar 包

sleuth主要功能是在分布式系统中提供追踪解决方案,并且兼容支持了zipkin(提供了链路追踪的可视化功能),logstash-logback-encoder 主要是对日志进行格式化。


    org.springframework.cloud
    spring-cloud-starter-zipkin


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


    net.logstash.logback
    logstash-logback-encoder
    6.1

1 增加配置文件logback-spring.xml



    
    
    
    

    
    
        
            
            INFO
        
        
            ${CONSOLE_LOG_PATTERN}
            utf8
        
    

    
        ${LOG_FILE}
        
            ${LOG_FILE}.%d{yyyy-MM-dd}.gz
            7
        
        
            ${CONSOLE_LOG_PATTERN}
            utf8
        
    
    
        ${LOG_FILE}.json
        
            ${LOG_FILE}.json.%d{yyyy-MM-dd}.gz
            7
        
        
            
                
                    UTC
                
                
                    
                        {
                        "severity": "%level",
                        "service": "${springAppName:-}",
                        "trace": "%X{X-B3-TraceId:-}",
                        "span": "%X{X-B3-SpanId:-}",
                        "parent": "%X{X-B3-ParentSpanId:-}",
                        "exportable": "%X{X-Span-Export:-}",
                        "pid": "${PID:-}",
                        "thread": "%thread",
                        "class": "%logger{40}",
                        "rest": "%message"
                        }
                    
                
            
        
    
        
        
        
        
    

3 启动访问,看到红线那块 说明配置成功了

4 启动两个项目相互调用看一下 第一个网关项目,第二个调用项目,都有唯一的标示03e26a889325fbff ,这样就方便我们查询日志了

Spring cloud Alibaba 之 分布式链路追踪 sleuth_第1张图片

 

 Spring cloud Alibaba 之 分布式链路追踪 sleuth_第2张图片

 

你可能感兴趣的:(spring,Cloud,Alibaba,2.1.0,正式版,sleuth,分布式链路追踪)