色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Spring Cloud Sleuth到底給Zipkin都發(fā)送了哪些數(shù)據(jù)?

jf_ro2CN3Fa ? 來源:csdn ? 2023-01-09 10:55 ? 次閱讀

一、概述

1.1. 分布式系統(tǒng)面臨的問題

在微服務(wù)框架中,一個由客戶端發(fā)起的請求在后端系統(tǒng)中會經(jīng)過多個不同的的服務(wù)節(jié)點調(diào)用來協(xié)同產(chǎn)生最后的請求結(jié)果,每一個次請求都會形成一條復(fù)雜的分布式服務(wù)調(diào)用鏈路,鏈路中的任何一環(huán)出現(xiàn)高延時或錯誤都會引起整個請求最后的失敗。

c996a382-86c7-11ed-bfe3-dac502259ad0.png

1.2. Sleuth是什么

Spring Cloud Sleuth提供了一套完整的服務(wù)跟蹤的解決方案。他會將服務(wù)與服務(wù)之間的調(diào)用給記錄起來。可以快速的知道調(diào)用 用戶服務(wù),到底涉及到了哪些微服務(wù),方便我們快速排查問題!

具體的功能如下幾點:

將跟蹤和跨度 ID 添加到 Slf4J,因此您可以從日志聚合器中的給定跟蹤或跨度中提取所有日志。

檢測來自 Spring 應(yīng)用程序的公共入口和出口點(servlet filter, rest template, scheduled actions, message channels, feign client)。

如果spring-cloud-sleuth-zipkin可用,則應(yīng)用程序?qū)⑼ㄟ^ HTTP生成和報告與Zipkin兼容的跟蹤。默認情況下,它將它們發(fā)送到 localhost(端口 9411)上的 Zipkin 收集器服務(wù)。使用spring.zipkin.baseUrl配置Zipkin 服務(wù)的位置。

1.3. Zipkin是什么

Spring Cloud Sleuth對于分布式鏈路的跟蹤僅僅是生成一些數(shù)據(jù),這些數(shù)據(jù)不便于人類閱讀,所以我們一般把這種跟蹤數(shù)據(jù)上傳給Zipkin Server,由Zipkin通過UI頁面統(tǒng)一進行數(shù)據(jù)的展示。

1.4. 鏈路監(jiān)控相關(guān)術(shù)語

這些術(shù)語在官方文檔當中也可以看到的!

span(跨度) :工作的基本單位。例如,發(fā)送 RPC 是一個新的跨度,發(fā)送響應(yīng)到 RPC 也是如此。Span還有其他數(shù)據(jù),例如描述、時間戳事件、鍵值注釋(標簽)、導(dǎo)致它們的 Span 的 ID 和進程 ID(通常是 IP 地址)。跨度可以啟動和停止,并且它們會跟蹤它們的時間信息。創(chuàng)建跨度后,您必須在將來的某個時間點停止它。

Trace :一組跨度形成樹狀結(jié)構(gòu)。

Annotation/Event :用于及時記錄某個事件的存在,有如下事件類型:

cs :客戶端發(fā)送。客戶已提出請求。此注釋指示跨度的開始。

sr :Server Received:服務(wù)器端收到請求并開始處理它。cs從此時間戳中減去時間戳揭示了網(wǎng)絡(luò)延遲。

ss :服務(wù)器發(fā)送。在請求處理完成時注釋(當響應(yīng)被發(fā)送回客戶端時)。從這個時間戳中減去sr時間戳,可以看出服務(wù)器端處理請求所需的時間。

cr : 客戶收到。表示跨度的結(jié)束。客戶端已成功收到服務(wù)器端的響應(yīng)。cs從這個時間戳中減去時間戳,可以看出客戶端從服務(wù)器接收響應(yīng)所需的全部時間。

下圖顯示了Span和Trace在系統(tǒng)中的外觀: 音符的每種顏色表示一個跨度(有七個跨度 - 從A到G)

c9d7bcdc-86c7-11ed-bfe3-dac502259ad0.png

下圖顯示了 span 的父子關(guān)系的外觀:

您可以繼續(xù)創(chuàng)建跨度(帶有no custom span指示的示例),也可以手動創(chuàng)建子跨度(帶有custom span指示的示例)。

ca056b82-86c7-11ed-bfe3-dac502259ad0.png

基于 Spring Boot + MyBatis Plus + Vue & Element 實現(xiàn)的后臺管理系統(tǒng) + 用戶小程序,支持 RBAC 動態(tài)權(quán)限、多租戶、數(shù)據(jù)權(quán)限、工作流、三方登錄、支付、短信、商城等功能

二、實戰(zhàn)練習

2.1. 入門練習

1.創(chuàng)建項目

2.引入依賴


8
8
UTF-8
2.6.8
2021.0.3





org.springframework.boot
spring-boot-dependencies
${springboot.version}
pom
import


org.springframework.cloud
spring-cloud-dependencies
${springcloud.version}
pom
import





org.springframework.boot
spring-boot-starter-web


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


3.添加yml配置

server:
port:8989

spring:
application:
name:sleuth-demo

4.添加控制器

@RestController
publicclassExampleController{
privatestaticfinalLoggerlog=LoggerFactory.getLogger(ExampleController.class);

@RequestMapping("/")
publicStringhome(){
log.info("Helloworld!");
return"HelloWorld!";
}
}

5.測試訪問:http://localhost:8989/ 訪問后觀察打印的日志

ca2ae632-86c7-11ed-bfe3-dac502259ad0.png

[sleuth-demo,a79df4de56426209,a79df4de56426209]`此條目對應(yīng)于`[applicationname,traceid,span id]

設(shè)置DispatcherServlet日志級別過后可以看到如下日志:

logging.level.org.springframework.web.servlet.DispatcherServlet=DEBUG
ca3e8700-86c7-11ed-bfe3-dac502259ad0.png

如果您對這一步還不是很了解他是干什么的,沒關(guān)系,可以接著往下看,下面你就會明白的!學知識要循序漸進,不可急躁!!!

2.2. Zipkin下載與啟動

下載好jar包后直接java -jar啟動:

ca535216-86c7-11ed-bfe3-dac502259ad0.png

然后訪問

ca78e99a-86c7-11ed-bfe3-dac502259ad0.png

2.3. 搭建鏈路監(jiān)控步驟

首先我們要至少準備兩個服務(wù),并且是調(diào)用關(guān)系。這樣我們才可以通過zipkin來查看調(diào)用鏈。

這里我會搭建兩個服務(wù),一個是8989服務(wù),一個是8990服務(wù),然后8989服務(wù)的一個接口當中調(diào)用了8990當中的接口!

遠程調(diào)用的時候我這里使用的是openfeign,openfeign和RestTemplate都是遠程調(diào)用框架,如果您對RestTemplate熟悉,用RestTemplate也是可以的。

第一步:搭建8990提供者

1.創(chuàng)建項目

2.添加pom依賴

這塊有一個點需要注意一下,有的springcloud版本當中是沒有對spring-cloud-starter-zipkin進行版本控制的,所以這時候我們需要自己去聲明版本號,2.2.8.RELEASE是截止到現(xiàn)在最新的版本!spring-cloud-starter-zipkin依賴是集成了spring-cloud-starter-sleuth依賴的,所以我們引用了zipkin就可以不引用sleuth了。


8
8
UTF-8
2.6.8
2021.0.3





org.springframework.boot
spring-boot-dependencies
${springboot.version}
pom
import


org.springframework.cloud
spring-cloud-dependencies
${springcloud.version}
pom
import





org.springframework.boot
spring-boot-starter-web


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


org.springframework.cloud
spring-cloud-starter-openfeign


3.添加yml配置

server:
port:8990

spring:
application:
name:sleuth-provide

logging:
level:
org.springframework.web.servlet.DispatcherServlet:DEBUG

4.添加控制器,主要是為了測試調(diào)用鏈路,這個接口就隨便寫一下就可以了!

@RestController
@RequestMapping("/user")
publicclassUserController{

@GetMapping("/getUserList")
publicStringgetUserList(){
return"user";
}
}

5.啟動后測試訪問

ca94e92e-86c7-11ed-bfe3-dac502259ad0.png

訪問兩次后打開

caa647dc-86c7-11ed-bfe3-dac502259ad0.png

第二步:搭建8989消費者

1.創(chuàng)建項目

2.添加pom依賴(這塊跟上面提供者的依賴一樣即可,當然消費者用不到openfeign,可以選擇把openfeign的依賴去掉)

3.添加yml配置

server:
port:8989

spring:
application:
name:sleuth-demo

logging:
level:
org.springframework.web.servlet.DispatcherServlet:DEBUG

4.使用openfeign就需要開啟openfeign的注解支持,在啟動類添加@EnableFeignClients

5.添加openfeign遠程調(diào)用接口

@FeignClient(value="userService",url="http://localhost:8990")
publicinterfaceUserService{

@GetMapping("/user/getUserList")
StringgetUserList();
}

6.添加控制器

@RestController
publicclassExampleController{

privatestaticfinalLoggerlog=LoggerFactory.getLogger(ExampleController.class);

@Resource
privateUserServiceuserService;

@RequestMapping("/")
publicStringhome(){
log.info("Helloworld!");
returnuserService.getUserList();
}
}

第三步:測試訪問

首先我們觀察兩個服務(wù)的日志:會發(fā)現(xiàn)一個問題trace id是一致的!原因就是8989調(diào)用了8990服務(wù),他們屬于是一個鏈路的。記住這一切并不是zipkin幫我們實現(xiàn)的,而是Sleuth。

您也可以通過將zipkin的依賴改為sleuth然后執(zhí)行鏈路,他id仍然是一樣的。zipkin可以把它當做就是一個帶有可視化界面的jar包,項目當中集成zipkin依賴主要是將sleuth鏈路跟蹤的數(shù)據(jù),上傳到zipkin,由zipkin對數(shù)據(jù)進行整理并在頁面上展示了出來,真正實現(xiàn)鏈路跟蹤的是sleuth

cacb11d4-86c7-11ed-bfe3-dac502259ad0.pngcae8da7a-86c7-11ed-bfe3-dac502259ad0.png

然后我們再觀察一下zipkin的日志:

cb183f9a-86c7-11ed-bfe3-dac502259ad0.png

第四步:故意制造異常

在消費服務(wù)的接口上故意制造異常:

@GetMapping("/getUserList")
publicStringgetUserList(){
inti=1/0;
return"user";
}

制造完異常后重啟,再進行訪問,然后觀察日志:可以很直觀的看到是哪些鏈路出現(xiàn)了問題。

通過這里我們可以拿到Trace ID,有了Trace ID我們可以去日志文件當中搜索Trace ID快速定位bug原因!

cb3d0bc2-86c7-11ed-bfe3-dac502259ad0.png

然后我們還可以查看鏈路詳情:通過下圖可以很直觀的看到是由SLEUTH-DEMO調(diào)用SLEUTH-PROVIDE服務(wù)的時候,SLEUTH-DEMO服務(wù)接口產(chǎn)生的異常!

cb59697a-86c7-11ed-bfe3-dac502259ad0.png

假如不使用Sleuth,在我們進行遠程調(diào)用的時候報錯了,實際上我們是看不到他是因為什么報錯的,我們只知道調(diào)用他報錯了,日志如下,要想真正知道報的什么異常還得去查看遠程調(diào)用的服務(wù)日志,而且還得比對服務(wù)調(diào)用時間,來查看當時報錯的日志。

cb7590f0-86c7-11ed-bfe3-dac502259ad0.png

2.4. sleuth相關(guān)配置

問題: 默認情況下,它將它們發(fā)送到 localhost(端口 9411)上的 Zipkin 收集器服務(wù),假設(shè)我們微服務(wù)并不是都部署在一臺機器,那應(yīng)該怎么辦呢?使用spring.zipkin.baseUrl配置Zipkin 服務(wù)的位置。

spring:
application:
name:sleuth-demo
zipkin:
base-url:http://localhost:9411/#指定zipkin地址
sleuth:
sampler:
#采樣率值介于0到1之間,1則表示全部采集
probability:1
#每秒采集的數(shù)量,默認是10,通過設(shè)置這個可以有效的避免消息過大
rate:10

2.5. 向Zipkin發(fā)送消息的方式

cb8e8024-86c7-11ed-bfe3-dac502259ad0.png

這個是什么意思呢?首先我們要明白一點,zipkin當中所展示的數(shù)據(jù)實際上都是由我們服務(wù)發(fā)送給zipkin他才將數(shù)據(jù)清洗,并展示出來的。默認采用的是HTTP請求方式來進行向zipkin發(fā)送的。

在實際開發(fā)當中HTTP請求方式,有時候勢必會給我們服務(wù)器帶來一些壓力,并發(fā)量特別大的情況下,會占用大量線程。HTTP請求講究的是,我發(fā)送給你,然后并且收到你的消息回復(fù),這條連接才算結(jié)束。

所以基于這一點zipkin也給我們提供了可以通過消息中間件來進行發(fā)送,發(fā)送給消息中間件我們就不用管了,這樣可以避免線程擁堵,目前支持RabbitMQ和Kafka、ActiveMQ!

我這里直接使用rabbitmq來進行演示 其他同理,不懂可以看官網(wǎng)!

第一步:添加依賴


org.springframework.amqp
spring-rabbit

第二步:添加rabbitmq配置

spring:
application:
name:sleuth-demo
zipkin:
base-url:http://localhost:9411/
sender:
type:rabbit
rabbitmq:
host:127.0.0.1
port:5672
username:guest
password:guest
listener:#這里配置了重試策略
direct:
retry:
enabled:true
sleuth:
sampler:
#采樣率值介于0到1之間,1則表示全部采集
probability:1
rate:10

第三步:修改Zipkin啟動命令

cbab3ca0-86c7-11ed-bfe3-dac502259ad0.png

java-jarzipkin-server-2.23.18-exec.jar--RABBIT_ADDRESSES=127.0.0.1:5672--RABBIT_USER=guest--RABBIT_PASSWORD=guest

docker啟動:

dockerrun
--namezipkin-server2-d
--restart=always
-p9411:9411
-eRABBIT_ADDRESSES=162.14.115.18:5672
-eRABBIT_USER=admin
-eRABBIT_PASSWORD=admin
openzipkin/zipkin:2.21.7

第四步:測試,啟動我們的服務(wù),然后訪問接口http://localhost:8989/

zipkin就是自動創(chuàng)建的隊列,通過這個隊列進行發(fā)送消息的!

cbbabd88-86c7-11ed-bfe3-dac502259ad0.png

打開zipkin仍然可以看到調(diào)用信息。

cbe8b4a4-86c7-11ed-bfe3-dac502259ad0.png

2.6. Sleuth到底給Zipkin都發(fā)送了哪些數(shù)據(jù)?

想知道這個其實非常簡單,我們只需要將zipkin給停止掉,然后調(diào)用我們的服務(wù)接口即可。這時候隊列當中的消息就沒有人消費了,然后我們就可以通過RabbitMQ管理頁直接獲取消息。

cc05e3ee-86c7-11ed-bfe3-dac502259ad0.png

2.7. Zipkin配置持久化

假如不配置zipkin持久化,當我們把jar包給停止后,所有收集到的消息會直接清除!針對于數(shù)據(jù)持久化zipkin提供了好幾種種方式,常用的有兩種,一種存儲到mysql,另一種是Elasticsearch。

方式一:持久化到mysql

cc138562-86c7-11ed-bfe3-dac502259ad0.png

配置持久化相當簡單,只需要在mysql創(chuàng)建一個庫和表,然后zipkin啟動的時候指定持久化方式為mysql即可。

java-jarzipkin-server-2.23.18-exec.jar--STORAGE_TYPE=mysql--MYSQL_HOST=127.0.0.1--MYSQL_TCP_PORT=3306--MYSQL_DB=zipkin--MYSQL_USER=root--MYSQL_PASS=root--RABBIT_ADDRESSES=127.0.0.1:5672--RABBIT_USER=guest--RABBIT_PASSWORD=guest

方式二:持久化到Elasticsearch

這一種我就不再演示了

cc39fc92-86c7-11ed-bfe3-dac502259ad0.png

基于 Spring Cloud Alibaba + Gateway + Nacos + RocketMQ + Vue & Element 實現(xiàn)的后臺管理系統(tǒng) + 用戶小程序,支持 RBAC 動態(tài)權(quán)限、多租戶、數(shù)據(jù)權(quán)限、工作流、三方登錄、支付、短信、商城等功能

三、引入sleuth怎么輸出traceId

首先我們要找到SpringBoot默認的logback配置

cc544b24-86c7-11ed-bfe3-dac502259ad0.pngcc7923e0-86c7-11ed-bfe3-dac502259ad0.png

base.xml引用了console-appender.xml和defaults.xml

cc9001fa-86c7-11ed-bfe3-dac502259ad0.png

我們之所以不配置日志,springboot也可以控制打印日志主要是以下:

ccb18c58-86c7-11ed-bfe3-dac502259ad0.png

CONSOLE_LOG_PATTERN就是springboot默認的日志格式:日志格式當中使用到了一個LOG_DATEFORMAT_PATTERN變量

ccd50052-86c7-11ed-bfe3-dac502259ad0.pngcd1134e6-86c7-11ed-bfe3-dac502259ad0.png

主要是由TraceEnvironmentPostProcessor類當中的postProcessEnvironment方法在啟動的時候判斷是否開啟了sleuth,假如開啟了會直接設(shè)置LOG_DATEFORMAT_PATTERN變量。

cd20fc78-86c7-11ed-bfe3-dac502259ad0.png

四、logback日志問題

分布式系統(tǒng)中,如何快速定位某個用戶的請求日志?

據(jù)我了解 zikpin并沒有提供詳細報錯日志,例如是哪行報錯,通過zipkin我們可以知道是鏈路中哪個服務(wù)報錯,這時候我們可以通過traceid去日志文件當中查看詳細報錯信息!

但是有時候我們項目當中使用了logback.xml,日志格式里面并沒有設(shè)置traceid。那到底應(yīng)該如何設(shè)置呢?

我們可以參考springboot默認的日志配置,然后配置如下:


《?xml version=“1.0” encoding=“UTF-8”?》

《configuration scan=“true” scanPeriod=“60 seconds” debug=“false”》

《!-- 參考SpringBoot默認的logback配置,增加了error日志文件 --》

《!-- org/springframework/boot/logging/logback/base.xml --》

《conversionRule conversionWord=“clr” converterClass=“org.springframework.boot.logging.logback.ColorConverter” /》

《conversionRule conversionWord=“wex” converterClass=“org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter” /》

《conversionRule conversionWord=“wEx” converterClass=“org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter” /》

《property name=“LOG_PATH” value=“。/logs”/》

《property name=“CONSOLE_LOG_PATTERN” value=“${CONSOLE_LOG_PATTERN:-%clr(%d{${LOG_DATEFORMAT_PATTERN:-yyyy-MM-dd HH:mm:ss.SSS}}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}”/》

《property name=“FILE_LOG_PATTERN” value=“${FILE_LOG_PATTERN:-%d{${LOG_DATEFORMAT_PATTERN:-yyyy-MM-dd HH:mm:ss.SSS}} ${LOG_LEVEL_PATTERN:-%5p} ${PID:- } --- [%t] %-40.40logger{39} : %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}”/》

《!-- 控制臺日志 --》

《appender name=“CONSOLE” class=“ch.qos.logback.core.ConsoleAppender”》

《encoder》

《pattern》${CONSOLE_LOG_PATTERN}《/pattern》

《/encoder》

《/appender》

《!--獲取比info級別高(包括info級別)但除error級別的日志--》

《appender name=“file_info” class=“ch.qos.logback.core.rolling.RollingFileAppender”》

《file》${LOG_PATH}/sys-info.log《/file》

《!-- 循環(huán)政策:基于時間創(chuàng)建日志文件 --》

《rollingPolicy class=“ch.qos.logback.core.rolling.TimeBasedRollingPolicy”》

《!-- 日志文件名格式 --》

《fileNamePattern》${LOG_PATH}/sys-info.%d{yyyy-MM-dd}.log《/fileNamePattern》

《!-- 日志最大的歷史 60天 --》

《maxHistory》60《/maxHistory》

《/rollingPolicy》

《encoder》

《pattern》${FILE_LOG_PATTERN}《/pattern》

《/encoder》

《filter class=“ch.qos.logback.classic.filter.LevelFilter”》

《level》ERROR《/level》

《onMatch》DENY《/onMatch》

《onMismatch》ACCEPT《/onMismatch》

《/filter》

《/appender》

《appender name=“file_error” class=“ch.qos.logback.core.rolling.RollingFileAppender”》

《file》${LOG_PATH}/sys-error.log《/file》

《!-- 循環(huán)政策:基于時間創(chuàng)建日志文件 --》

《rollingPolicy class=“ch.qos.logback.core.rolling.TimeBasedRollingPolicy”》

《!-- 日志文件名格式 --》

《fileNamePattern》${LOG_PATH}/sys-error.%d{yyyy-MM-dd}.log《/fileNamePattern》

《!-- 日志最大的歷史 60天 --》

《maxHistory》60《/maxHistory》

《/rollingPolicy》

《encoder》

《pattern》${FILE_LOG_PATTERN}《/pattern》

《/encoder》

《filter class=“ch.qos.logback.classic.filter.LevelFilter”》

《!-- 過濾的級別 --》

《level》ERROR《/level》

《!-- 匹配時的操作:接收(記錄) --》

《onMatch》ACCEPT《/onMatch》

《!-- 不匹配時的操作:拒絕(不記錄) --》

《onMismatch》DENY《/onMismatch》

《/filter》

《/appender》

《!-- 異步輸出 --》

《appender name=“ASYNC-INFO” class=“ch.qos.logback.classic.AsyncAppender”》

《!-- 不丟失日志。默認的,如果隊列的80%已滿,則會丟棄TRACT、DEBUG、INFO級別的日志 --》

《discardingThreshold》0《/discardingThreshold》

《!-- 更改默認的隊列的深度,該值會影響性能。默認值為256 --》

《queueSize》512《/queueSize》

《!-- 添加附加的appender,最多只能添加一個 --》

《appender-ref ref=“file_info”/》

《/appender》

《appender name=“ASYNC-ERROR” class=“ch.qos.logback.classic.AsyncAppender”》

《!-- 不丟失日志。默認的,如果隊列的80%已滿,則會丟棄TRACT、DEBUG、INFO級別的日志 --》

《discardingThreshold》0《/discardingThreshold》

《!-- 更改默認的隊列的深度,該值會影響性能。默認值為256 --》

《queueSize》512《/queueSize》

《!-- 添加附加的appender,最多只能添加一個 --》

《appender-ref ref=“file_error”/》

《/appender》

《!-- 日志總開關(guān) --》

《root level=“INFO”》

《appender-ref ref=“CONSOLE” /》

《appender-ref ref=“ASYNC-INFO” /》

《appender-ref ref=“ASYNC-ERROR” /》

《/root》

《!-- 日志過濾 --》

《logger name=“org.apache.catalina.startup.DigesterFactory” level=“ERROR”/》

《logger name=“org.apache.catalina.util.LifecycleBase” level=“ERROR”/》

《logger name=“org.apache.coyote.http11.Http11NioProtocol” level=“WARN”/》

《logger name=“org.apache.sshd.common.util.SecurityUtils” level=“WARN”/》

《logger name=“org.apache.tomcat.util.net.NioSelectorPool” level=“WARN”/》

《logger name=“org.eclipse.jetty.util.component.AbstractLifeCycle” level=“ERROR”/》

《logger name=“org.hibernate.validator.internal.util.Version” level=“WARN”/》

《/configuration》

五、除了Zipkin還有哪些鏈路跟蹤

cd429ffe-86c7-11ed-bfe3-dac502259ad0.png

CAT是一個更綜合性的平臺,提供的監(jiān)控功能最全面,國內(nèi)幾個大廠生產(chǎn)也都在使用。但研發(fā)進度及版本更新相對較慢。

Zipkin由Twitter開源,調(diào)用鏈分析工具,基于spring-cloud-sleuth得到廣泛使用,非常輕量,使用部署簡單。

Skywalking專注于鏈路和性能監(jiān)控,國產(chǎn)開源,埋點無侵入,UI功能較強。能夠加入Apache孵化器,設(shè)計思想及代碼得到一定認可,后期應(yīng)該也會有更多的發(fā)展空間及研發(fā)人員投入。目前使用廠商最多。版本更新較快。

Pinpoint專注于鏈路和性能監(jiān)控,韓國研發(fā)團隊開源,埋點無侵入,UI功能較強,但畢竟是小團隊,不知道會不會一直維護著,目前版本仍在更新中

cda1a314-86c7-11ed-bfe3-dac502259ad0.png

支持的存儲:

cdf4b518-86c7-11ed-bfe3-dac502259ad0.png

審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 服務(wù)器
    +關(guān)注

    關(guān)注

    12

    文章

    9198

    瀏覽量

    85516
  • RPC
    RPC
    +關(guān)注

    關(guān)注

    0

    文章

    111

    瀏覽量

    11540
  • HTTP協(xié)議
    +關(guān)注

    關(guān)注

    0

    文章

    66

    瀏覽量

    9726

原文標題:Spring Cloud Sleuth 全鏈路日志跟蹤解決方案(強烈推薦)

文章出處:【微信號:芋道源碼,微信公眾號:芋道源碼】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    如何用ACM簡化你的Spring Cloud微服務(wù)環(huán)境配置管理

    的差別,而這往往是bug和重大故障隱藏之所。總結(jié) 在本文中,我們以一個測試和生產(chǎn)連接不同的數(shù)據(jù)庫,配置不同的數(shù)據(jù)源(包括連接池)參數(shù)為例,介紹了如何將阿里云配置中心ACM與Spring Clo
    發(fā)表于 02-02 14:18

    EDAS再升級!全面支持Spring Cloud應(yīng)用

    摘要: 近日,阿里中間件(Aliware)的企業(yè)級分布式應(yīng)用服務(wù)EDAS宣布再次升級,全面支持Spring Cloud應(yīng)用。點此查看原文:[url=]http://click.aliyun.com
    發(fā)表于 02-02 15:20

    使用阿里云ACM簡化你的Spring Cloud微服務(wù)環(huán)境配置管理

    和重大故障隱藏之所。總結(jié)在本文中,我們以一個測試和生產(chǎn)連接不同的數(shù)據(jù)庫,配置不同的數(shù)據(jù)源(包括連接池)參數(shù)為例,介紹了如何將阿里云配置中心ACM與Spring Cloud一起使用,幫助
    發(fā)表于 07-04 17:16

    Dubbo Cloud Native 之路的實踐與思考

    Jaeger,三者的靈感均來自于 Google 論文 Dapper。相對而言,Java 程序員可能更為熟悉 Zipkin,因為它是 Spring Cloud Sleuth 首選方案,
    發(fā)表于 07-05 16:05

    Spring Cloud Config公共配置解決方案

    Spring Cloud Config 多服務(wù)公共配置
    發(fā)表于 08-30 09:05

    使用Spring Cloud與Docker實戰(zhàn)微服務(wù)

    使用Spring Cloud與Docker實戰(zhàn)微服務(wù)
    發(fā)表于 09-09 08:31 ?7次下載
    使用<b class='flag-5'>Spring</b> <b class='flag-5'>Cloud</b>與Docker實戰(zhàn)微服務(wù)

    Spring Cloud Function基于Spring Boot的函數(shù)計算框架

    ./oschina_soft/spring-cloud-function.zip
    發(fā)表于 05-13 10:16 ?0次下載
    <b class='flag-5'>Spring</b> <b class='flag-5'>Cloud</b> Function基于<b class='flag-5'>Spring</b> Boot的函數(shù)計算框架

    RabbitRpc基于spring cloud的微服務(wù)rpc調(diào)用

    ./oschina_soft/gitee-spring-cloud-rabbitrpc.zip
    發(fā)表于 06-14 09:51 ?1次下載
    RabbitRpc基于<b class='flag-5'>spring</b> <b class='flag-5'>cloud</b>的微服務(wù)rpc調(diào)用

    如何解決Spring Cloud下測試環(huán)境路由問題

    Spring Cloud Tencent 微服務(wù)開發(fā)框架自六月底正式對外宣發(fā)后,受到了許多開發(fā)者非常火熱的關(guān)注。不到一個月時間, Github Star 數(shù)就已突破 2000,超過 1000 名
    的頭像 發(fā)表于 10-21 09:22 ?1023次閱讀

    Spring Cloud Tencent發(fā)布最新匹配版本!

    無論北極星還是 Spring Cloud Tencent 當前都在積極的修復(fù) Bug、完善用戶體驗、迭代新功能。所以 Spring Cloud Tencent 也第一時間適配了
    的頭像 發(fā)表于 12-09 15:34 ?1109次閱讀

    Spring Cloud 2022.0.0正式發(fā)布

    由于 Spring 現(xiàn)在提供了他們自己實現(xiàn)的接口 HTTP 客戶端解決方案,因此從 2022.0.0 開始,Spring Cloud OpenFeign 已到達特性完成狀態(tài)。這意味著 Spri
    的頭像 發(fā)表于 12-22 10:39 ?735次閱讀

    使用 Renesas AE-CLOUD2 將 GPS 數(shù)據(jù)發(fā)送到 Google Cloud IoT

    使用 Renesas AE-CLOUD2 將 GPS 數(shù)據(jù)發(fā)送到 Google Cloud IoT
    的頭像 發(fā)表于 01-04 11:17 ?693次閱讀

    分布式鏈路跟蹤SleuthZipkin

    Spring Cloud Sleuth 也為我們提供了一套完整的解決方案。在本章中,我們將詳細介紹如何使用 Spring Cloud
    的頭像 發(fā)表于 01-13 10:11 ?677次閱讀

    dubbo和spring cloud區(qū)別

    Dubbo和Spring Cloud是兩個非常流行的微服務(wù)框架,各有自己的特點和優(yōu)勢。在本文中,我們將詳細介紹Dubbo和Spring Cloud的區(qū)別。 1.架構(gòu)設(shè)計: Dubbo是
    的頭像 發(fā)表于 12-04 14:47 ?1687次閱讀

    Spring Cloud Gateway網(wǎng)關(guān)框架

    Spring Cloud Gateway網(wǎng)關(guān)框架 本軟件微服務(wù)架構(gòu)中采用Spring Cloud Gateway網(wǎng)關(guān)控制框架,Spring
    的頭像 發(fā)表于 08-22 09:58 ?505次閱讀
    <b class='flag-5'>Spring</b> <b class='flag-5'>Cloud</b> Gateway網(wǎng)關(guān)框架
    主站蜘蛛池模板: 国产精品俺来也在线观看| 十分钟免费观看大全视频| CHRISTMAS农村夫妻HO| 午夜国产羞羞视频免费网站| 绝逼会被锁| 国产三级电影网| WWW久久只有这里有精品| 亚洲精品久久久992KVTV| 日本三级床震| 免费精品国产人妻国语麻豆| 禁室培欲在线视频免费观看| 处初女处夜情视频在线播放| 2020最新国产自产精品| 亚洲第一页视频| 少妇人妻偷人精品视蜜桃| 免费看黄色小说| 久久精品123| 国产香蕉视频| 大桥未久在线看| jizz日本女人| 69式国产真人免费视频| 一本道亚洲区免费观看| 亚洲AV无码一区二区三区牛牛 | 日本高清免费在线观看| 美女网站免费看| 久久影院一区| 九九99热久久精品在线6| 国产骚妇BB网| 国产人人为我我为人人澡| 国产成人 免费观看| 草莓视频在线免费观看| hd性欧美俱乐部中文| 99国产精品久久| 91国在线产| 18未满不能进的福利社| 张津瑜的9分58秒7段免费| 野花韩国高清完整版在线| 亚洲欧洲自拍偷拍| 亚洲欧美成人无码久久久| 亚洲国产精品一区二区久久第 | 伦理片飘花免费影院|