生產環境全鏈路壓測平臺Takin

數列科技發表於2021-08-11

什麼是 Takin?

Takin 是基於 Java 的開源系統,可以在無業務程式碼侵入的情況下,嵌入到各個應用程式節點,實現生產環境的全鏈路效能測試,適用於複雜的微服務架構系統。


生產環境全鏈路壓測平臺Takin


Takin 核心原理圖

Takin 有什麼特點?

Takin 具備以下 4 個特點:


(1)業務程式碼 0 侵入:在接入、採集和實現邏輯控制時,不需要修改任何業務程式碼;

(2)鏈路治理:能夠幫助業務和微服務架構分析業務鏈路,以技術方式獲得功能視角的鏈路資訊;

(3)效能瓶頸定位:效能測試結果可以直接展現整個鏈路中存在效能瓶頸的微服務架構節點;

(4)資料隔離:可以在不汙染生產環境資料和日誌的情況下實施效能測試,可以在生產環境對寫型別介面進行直接的 。


Takin 與傳統效能測試的區別

微服務架構在現代系統架構中已被普遍使用,業務複雜性和系統複雜性雙重作用使得保障和維持整個系統的高可用性變得困難異常,同時對研發效率也有較大負面影響。為了解決效能瓶頸保證系統的高可用,需要對系統實施效能測試,但傳統的效能測試有模擬性、區域性性和黑盒性三大問題。

模擬性:傳統的效能測試通常在測試環境或者效能環境實施,但這些環境都只是對生產環境的模擬,無法真正代表生產環境。

區域性性:傳統效能測試有時會在生產環境的單一區域性服務實施,或者只壓測讀型別的介面,但區域性高可用不代表整體鏈路的高可用。

黑盒性:傳統的效能測試只能獲得 TPS 等效能結果,無法在複雜的微服務架構系統中定位和分析存在效能瓶頸的服務節點。


生產環境全鏈路壓測平臺Takin

Takin 介面


在生產環境進行效能壓測是公認的最優解決方案,但這也是一件極具挑戰性的事情,容易汙染現網的資料庫、日誌等資料,進行生產環境測試資料清理時操作複雜且危險性高,為此, 應運而生。Takin 作為首款生產環境全鏈路壓測開源產品,可以較大程度地幫助企業降低生產全鏈路壓測平臺的開發複雜度,在無業務程式碼侵入的情況下,獲得鏈路治理、資料隔離、效能瓶頸定位等生產壓測核心能力。

Takin 的開源模組

Takin 開源內容主要包括三個部分:Agent 探針、控制中臺以及大資料模組。在 Java 應用程式中植入探針(agent),它能收集效能資料、控制測試流量的流向,將資料上報給大資料模組,大資料模組會進行一些實時計算並對資料進行儲存,控制檯則負責這些業務流程的管理和展現。三個部分各司其職,為業務提供無程式碼侵入的、常態化的生產環境全鏈路壓測服務。


生產環境全鏈路壓測平臺Takin


GitHub 開源地址如下:

開源社群:


有問題隨時找小樹


生產環境全鏈路壓測平臺Takin


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70004063/viewspace-2786511/,如需轉載,請註明出處,否則將追究法律責任。

相關文章