1. 程式人生 > >鏈路追蹤和應用性能監控有哪些區別?

鏈路追蹤和應用性能監控有哪些區別?

開發者工具 jpeg 水平 form 阿裏 qfile 面向 ati 表格

概要

阿裏雲上最近推出了一款新產品 鏈路追蹤 ,專註於幫助開發者快速分析和診斷分布式應用架構下的性能瓶頸,提高微服務時代下的開發診斷效率。

技術分享圖片

分布式應用環境下的鏈路追蹤,並不是一個新話題。在早些時間,阿裏雲產品 業務實時監控服務 也有類似功能推出。那麽鏈路追蹤和業務實時監控服務在產品功能層面到底有什麽樣的區別和聯系?本文將給出概要說明。

以下從產品定位,接入方式,以及使用成本 三個方面來比較 業務實時監控服務 和 鏈路追蹤 兩款產品。

產品定位

從功能定位上看,業務實時監控服務定位於重量級的應用性能管理類(Application Performance Management, 簡稱APM)工具,包含的功能相對豐富。應用程序通過掛載Agent方式接入監控,Agent內部功能相對豐富,包括性能監控,用戶體驗監控,鏈路追蹤,故障診斷,等多種功能。

而鏈路追蹤定位於分布式鏈路追蹤解決方案工具,功能比較專一,專業面向解決分布式環境下的鏈路追蹤這一個問題。用戶通過接入鏈路追蹤SDK來實現分布式鏈路追蹤,SDK本身只負責鏈路監控,功能相對專註。

接入方式

業務實時監控使用的是業界商業化APM工具中比較流行的無侵入式接入方案。用戶無需改動代碼,即可接入。不過一般需要在應用程序中加載Agent,需要修改程序啟動方式。例如以業務實時監控服務為例,在啟動Java程序時需要增加-javaagent啟動參數。

鏈路追蹤則使用的是基於 Jaeger, Zipkin?等開源產品和開源標準 Opentracing 的侵入式接入方案。用戶可以基於以上任意一種標準SDK接入到鏈路追蹤中。這樣的好處是:

  • 已在用Jaeger, Zipkin或其他Opentracing標準SDK的應用可無縫遷移到鏈路追蹤產品中,而不用修改代碼;
  • 由於產品SDK是基於開源標準的,因此用戶不用擔心lock-in問題;
  • 借助社區力量,用戶可以一次性大量支持多種開發語言,使得面向異構環境的開發者在監控方面接入門檻大幅度降低。

使用成本

和其他APM工具類產品類似,無論是應用監控還是前端監控等功能,業務實時監控服務采用的是按量付費的收費模式,總體來講還是占用戶總體預算的相當一部分。不過從總體來看,業務實時監控服務 收費大大低於業界平均水平,僅占業界水平10-20%左右,這也得益於其優秀的高性能和高效率架構。

鏈路追蹤專註於解決分布式環境下的鏈路診斷問題,其功能相對專註,產品精簡,本身不收費。用戶的鏈路信息存儲於阿裏雲的日誌服務產品中,用戶僅對日誌服務存儲收費,鏈路追蹤產品本身不收費。

產品區別和聯系總結

以下表格總結兩個產品的區別和聯系。

業務實時監控服務 鏈路追蹤
產品定位 APM工具類產品,產品本身含應用性能監控,用戶體驗監控,鏈路追蹤,問題診斷等多項功能。 專註分布式鏈路功能追蹤功能。
應用程序語言支持 Java, PHP (coming soon) Java, PHP, Go, C#, Python, Node.JS, etc.
接入方式 無侵入式Agent加載方式接入 侵入式SDK編程方式接入
產品費用 按量付費,極具競爭力的產品價格 產品本身免費,用戶僅對日誌服務使用部分收費

未來展望

雖然兩個產品定位不同,但是同樣定位於阿裏雲上的開發者工具監控類產品,兩款產品未來會做互相地打通。

  • 業務實時監控服務將支持鏈路追蹤 的SDK方式進行分布式鏈路追蹤的定制化;
  • 鏈路追蹤的應用鏈路同樣能在 業務實時監控服務的界面中進行查詢,優化用戶診斷體驗。

-> 歡迎關註“阿裏巴巴中間件”,加入中間件開發者群,與技術同行。

技術分享圖片

鏈路追蹤和應用性能監控有哪些區別?