日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

注冊中心

請參考:
https://blog.csdn.net/MadLifeBin/article/details/120332483

可搭建單機版用于 Demo 測試

服務提供與消費

請參考:
https://blog.csdn.net/MadLifeBin/article/details/120420139

全鏈路監控

添加日志支持

maven添加依賴

版本參考父POM

<dependency>
  <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
</dependency>
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>log4j-over-slf4j</artifactId>
</dependency>
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>jcl-over-slf4j</artifactId>
</dependency>

服務雙方添加日志配置文件

SpringCloud微服務之OpenFeign添加traceId全鏈路監控

 

服務雙方增加過濾器為每個請求創建traceId

啟動類增加注解@ServletComponentScan

@Order(1)
@WebFilter(urlPatterns = "/*",filterName = "traceIdFilter")
public class TraceIdFilter implements Filter {

    public final static String MDC_TRACE_ID = "traceId";

    @Override
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
        HttpServletRequest httpRequest = (HttpServletRequest) request;
        String traceId = httpRequest.getHeader(MDC_TRACE_ID);
        if (StringUtils.isBlank(traceId)) {
            traceId = IdUtil.fastSimpleUUID();;
        }
        MDC.put(MDC_TRACE_ID, traceId);
        ThreadLocalUtils.setTraceId(traceId);
        HttpServletResponse httpResponse = (HttpServletResponse) response;
        httpResponse.setHeader(MDC_TRACE_ID, traceId);
        chain.doFilter(request, response);
    }
}

同時將traceId寫回到response的header中,方便在前端獲取traceId.

consumer配置OpenFeign透傳traceId

@Component
public class OpenFeignRequestInterceptor implements RequestInterceptor {

    @Override
    public void Apply(RequestTemplate requestTemplate) {
        String traceId = MDC.get(TraceIdFilter.MDC_TRACE_ID);
        requestTemplate.header(TraceIdFilter.MDC_TRACE_ID, traceId);
    }
}

測試

服務雙方的調用鏈路上增加打印日志語句

LOGGER.info("userId:{}",userId);

consumer

SpringCloud微服務之OpenFeign添加traceId全鏈路監控

 

provider

SpringCloud微服務之OpenFeign添加traceId全鏈路監控

 

根據traceId追蹤日志

  1. 啟動Eureka、Provider、Consumer
  2. 瀏覽器調用接口,在瀏覽器控制臺拿到traceId
  3. 分別去對應服務的日志查找具體日志行。
SpringCloud微服務之OpenFeign添加traceId全鏈路監控

 


SpringCloud微服務之OpenFeign添加traceId全鏈路監控

 

若搭配上阿里云的 SLS 或者 自行搭建的 EFLK,全鏈路日志只會更加方便

分享到:
標簽:SpringCloud
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定