激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - 詳解spring cloud分布式日志鏈路跟蹤

詳解spring cloud分布式日志鏈路跟蹤

2021-05-20 13:32IT高飛 Java教程

這篇文章主要介紹了詳解spring cloud分布式日志鏈路跟蹤,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

首先要明白一點,為什么要使用鏈路跟蹤?

當我們微服務之間調用的時候可能會出錯,但是我們不知道是哪個服務的問題,這時候就可以通過日志鏈路跟蹤發現哪個服務出錯。

它還有一個好處:當我們在企業中,可能每個人都負責一個服務,我們可以通過日志來檢查自己所負責的服務不會出錯,當調用其它服務時,這時候出現錯誤,那么就可以判定出不是自己的服務出錯,從而也可以發現責任不是自己的。

基于微服務之間的調用開始,如果看不懂的小伙伴,請先參考我上篇博客:spring cloud中微服務之間的調用以及eureka的自我保護機制

詳解spring cloud分布式日志鏈路跟蹤

首先,我們先在project-solr和project-shopping-mall里加配置:

project-solr中的application.yml:

?
1
2
3
4
logging:
 path: d:worklogsproject-solr #打印存放日志的路徑
 level:
  com.gaofei: info #包名下日志的級別

project-shopping-mall中的application.yml:

?
1
2
3
4
logging:
 path: d:worklogsproject-shopping-mall #打印存放日志的路徑
 level:
  com.gaofei: info #包下面日志級別

大家可以看出我兩個服務里的日志存放的路徑不一樣,這樣也便于區分

在project-solr里的constroller里:

?
1
2
3
4
5
6
7
8
9
10
11
12
@restcontroller//這里使此constroller中所有的方法返回的不是頁面
public class solrsearchconstroller {
 
  public static logger logger=loggerfactory.getlogger(solrsearchconstroller.class);
 
  @requestmapping("/solrsearch")
  public string solrsearch(){
    logger.info("solr被調用");
    return "這里是solr";
  }
 
}

在project-shopping-mall里的constroller:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
@controller
public class pagecontroller {
 
  public static logger logger=loggerfactory.getlogger(pagecontroller.class);
 
  @autowired
  private resttemplate resttemplate;
 
  @requestmapping("/toindex")
  public string toindex(model model){
 
    logger.info("執行調用");
    string msg=resttemplate.getforentity("http://project-solr/solrsearch",string.class).getbody();//project-solr是調用注冊中心里的名字
    logger.info("調用結束");
    model.addattribute("msg",msg);
    return "/index";
  }
}

接下來執行:

詳解spring cloud分布式日志鏈路跟蹤

在這里如果沒有logs后面的目錄它會自動創建

點開兩個日志文件:

詳解spring cloud分布式日志鏈路跟蹤

這里因為我運行刷新了3次,所以執行了3次,而兩個日志里也對應了三次

如果其中一條報錯那么也很快可以找到答案,并且知道哪個日志里報錯,也就對應了哪個服務報錯

那么問題來了,如果我們在開發中,一天可能會運行n次,那么其中某次運行報錯,我們就要在n次調用時來找對應的服務,那么怎么辦,我們不可能一一對應查找

這時候我們可以進行鏈路追蹤,只需要在對應的服務器build.gradle加上spring cloud sleuth依賴

?
1
2
//分布式鏈路依賴
  compile group: 'org.springframework.cloud', name: 'spring-cloud-starter-sleuth'

這里我只用到了兩個服務project-solr和project-shopping-mall,所以這里就在這兩個服務build.gradle中添加

之后執行,打開存放的日志:

詳解spring cloud分布式日志鏈路跟蹤

這里我運行刷新了n次,那么怎么在另一個服務找到對應的調用呢?大家仔細看一下紅塊中的鏈路是不是對應相應的服務

我隨便拿一個進行查找

詳解spring cloud分布式日志鏈路跟蹤

通過查找可以發現,可以找到對應的鏈路,那么也就是每次運行都會出現一個鏈路,可以來查找相應服務的操作是否執行成功,那么這也就是鏈路追蹤

下一篇我會寫分布式服務整合zipkin的鏈路跟蹤

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:http://www.cnblogs.com/itgaofei/p/9345569.html

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25
主站蜘蛛池模板: 久久国产精品久久久久久久久久 | 91九色福利 | 斗罗破苍穹在线观看免费完整观看 | 一本一道久久久a久久久精品91 | 91精品国产92久久久久 | 色淫网站免费视频 | 黄色网址免费进入 | 国产免费视频在线 | 欧美毛片免费观看 | 成人做爽爽爽爽免费国产软件 | 一级黄色淫片 | 国产日本在线 | 一级黄色毛片播放 | 红杏亚洲影院一区二区三区 | 女人叉开腿让男人桶 | 亚洲第一激情网 | 视频一区二区三区中文字幕 | 欧美成人精品一区 | 成片免费观看视频大全 | 亚洲精品日韩色噜噜久久五月 | 亚洲国产精品久久久 | 美女av在线免费观看 | 免费国产视频在线观看 | 99久久精品国产导航 | 欧美成人精品一级 | 久久久无码精品亚洲日韩按摩 | 91成人免费在线观看 | 91精品国产九九九久久久亚洲 | av日韩一区二区三区 | av日韩在线免费观看 | av成人在线播放 | 99久久超碰中文字幕伊人 | aa级黄色片 | 国产999精品久久久久 | 欧洲精品久久久久69精品 | 精品91av| 黄色毛片视频在线观看 | 免看黄大片aa | 国产一区二区二 | 欧美一级电影网站 | 91精品国产91 |