生產環境全鏈路壓測平臺Takin
什麼是 Takin?
Takin 是基於 Java 的開源系統,可以在無業務程式碼侵入的情況下,嵌入到各個應用程式節點,實現生產環境的全鏈路效能測試,適用於複雜的微服務架構系統。
Takin 核心原理圖
Takin 有什麼特點?
Takin 具備以下 4 個特點:
(1)業務程式碼 0 侵入:在接入、採集和實現邏輯控制時,不需要修改任何業務程式碼;
(2)鏈路治理:能夠幫助業務和微服務架構分析業務鏈路,以技術方式獲得功能視角的鏈路資訊;
(3)效能瓶頸定位:效能測試結果可以直接展現整個鏈路中存在效能瓶頸的微服務架構節點;
(4)資料隔離:可以在不汙染生產環境資料和日誌的情況下實施效能測試,可以在生產環境對寫型別介面進行直接的 。
Takin 與傳統效能測試的區別
微服務架構在現代系統架構中已被普遍使用,業務複雜性和系統複雜性雙重作用使得保障和維持整個系統的高可用性變得困難異常,同時對研發效率也有較大負面影響。為了解決效能瓶頸保證系統的高可用,需要對系統實施效能測試,但傳統的效能測試有模擬性、區域性性和黑盒性三大問題。
模擬性:傳統的效能測試通常在測試環境或者效能環境實施,但這些環境都只是對生產環境的模擬,無法真正代表生產環境。
區域性性:傳統效能測試有時會在生產環境的單一區域性服務實施,或者只壓測讀型別的介面,但區域性高可用不代表整體鏈路的高可用。
黑盒性:傳統的效能測試只能獲得 TPS 等效能結果,無法在複雜的微服務架構系統中定位和分析存在效能瓶頸的服務節點。
Takin 介面
在生產環境進行效能壓測是公認的最優解決方案,但這也是一件極具挑戰性的事情,容易汙染現網的資料庫、日誌等資料,進行生產環境測試資料清理時操作複雜且危險性高,為此, 應運而生。Takin 作為首款生產環境全鏈路壓測開源產品,可以較大程度地幫助企業降低生產全鏈路壓測平臺的開發複雜度,在無業務程式碼侵入的情況下,獲得鏈路治理、資料隔離、效能瓶頸定位等生產壓測核心能力。
Takin 的開源模組
Takin 開源內容主要包括三個部分:Agent 探針、控制中臺以及大資料模組。在 Java 應用程式中植入探針(agent),它能收集效能資料、控制測試流量的流向,將資料上報給大資料模組,大資料模組會進行一些實時計算並對資料進行儲存,控制檯則負責這些業務流程的管理和展現。三個部分各司其職,為業務提供無程式碼侵入的、常態化的生產環境全鏈路壓測服務。
GitHub 開源地址如下:
開源社群:
有問題隨時找小樹
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70004063/viewspace-2786511/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 全鏈路壓測(5):生產全鏈路壓測實施全流程
- 生產環境 壓測
- 生產全鏈路壓測常態化方案
- 全鏈路壓測(1):認識全鏈路壓測
- 全鏈路壓測平臺(Quake)在美團中的實踐
- 全鏈路壓測(4):全鏈路壓測的價值是什麼?
- “敏捷版”全鏈路壓測敏捷
- 全鏈路壓測演進之迭代式壓測
- 推薦一款國內首個開源全鏈路壓測平臺
- MySQL原理簡介—3.生產環境的部署壓測MySql
- 有贊全鏈路壓測實戰
- 有贊全鏈路壓測 - 張弛
- 全鏈路線上生產資料庫壓測利器:Apache ShardingSphere 影子庫特性升級資料庫Apache
- 效能測試 —— 什麼是全鏈路壓測?
- 用 Spring 區分開發環境、測試環境、生產環境Spring開發環境
- 全鏈路壓測自動化實踐
- 全鏈路壓測落地和演進之路
- vivo 全鏈路多版本開發測試環境落地實踐
- 全鏈路壓測(11):聊聊穩定性預案
- 全鏈路壓測(10):測試要做的準備工作
- 如何開展線上全鏈路壓測思路分享
- dmonitor 基於 Django 的輕量級生產環境介面監控平臺Django
- 全鏈路壓測(3):技術改造和測試驗證
- 告別傳統壓測:全鏈路壓測在中通的實踐分享
- PR效能測試工具升級到全鏈路效能測試與分析平臺
- ClickHouse生產環境部署
- 高德全鏈路壓測——精準控壓的建設實踐
- 詳解 | 阿里怎麼做雙11全鏈路壓測?阿里
- 打造全鏈路資料隱私合規平臺
- 全鏈路效能壓測工具分析和總結-實時更新
- 獨家揭秘 | 阿里怎麼做雙11全鏈路壓測?阿里
- 高德全鏈路壓測——語料智慧化演進之路
- 有贊全鏈路壓測引擎的設計與實現
- 劇透!全鏈路壓測從零開始系列目錄
- 全鏈路壓測(2):方案調研和專案立項
- 熱部署一般用在測試環境, 生產環境用分散式配置中心熱部署分散式
- linux環境壓測踩過的坑Linux
- 全鏈路壓測體系建設方案的思考與實踐