從人工到自動化,從重複到創新,技術演進的歷程中,伴隨着開發者工具類產品的發展。前端
阿里巴巴將自身在各種業務場景下的技術積澱,經過開源、雲上實現或工具等形式對外開放,本文將精選了一些阿里巴巴的開發者工具,但願能幫助開發者們提升開發效率、更優雅的寫代碼。react
因爲開發者涉及的技術領域衆多,筆者僅從本身熟悉的領域,之後端開發者的視角盤點平時可能用獲得的工具。每一個工具按照如下幾點進行介紹:面試
Arthas 阿里巴巴2018年9月開源的一款Java線上診斷工具。數據庫
工具的使用場景:後端
Arthas支持JDK 6+,支持Linux/Mac/Windows,採用命令行交互模式,同時提供豐富的 Tab 自動補全功能,進一步方便進行問題的定位和診斷。緩存
Cloud Toolkit 是一款 IDE 插件,能夠幫助開發者更高效地開發、測試、診斷並部署應用。經過 Cloud Toolkit,開發者可以方便地將本地應用一鍵部署到任意機器(本地或雲端),並內置 Arthas 診斷、高效執行終端命令和 SQL 等,提供 IntelliJ IDEA 版,Eclipse 版,PyCharm 版和 Maven 版。服務器
工具的使用場景:markdown
ChaosBlade 是一款遵循混沌工程實驗原理,提供豐富故障場景實現,幫助分佈式系統提高容錯性和可恢復性的混沌工程工具,可實現底層故障的注入,提供了延遲、異常、返回特定值、修改參數值、重複調用和try-catch 塊異常等異常場景。架構
工具的使用場景:app
該插件用於檢測 Java 代碼中存在的不規範的位置,並給予提示。規約插件是採用 Kotlin 語言開發。
ARMS 是一款 APM 類的監控工具,提供前端、應用、自定義監控 3 類監控選項,可快速構建實時的應用性能和業務監控能力。
工具的使用場景:
Docsite 一款集官網、文檔、博客和社區爲一體的靜態開源站點的解決方案,具備簡單易上手、上手不撒手的特質,同時支持 react 和靜態渲染、PC端和移動端、支持中英文國際化、SEO、markdown文檔、全局站點搜索、站點風格自定義、頁面自定義等功能。
Freeline 能夠充分利用緩存文件,在幾秒鐘內迅速地對代碼的改動進行編譯並部署到設備上,有效地減小了平常開發中的大量從新編譯與安裝的耗時。Freeline 最快捷的使用方法就是直接安裝 Android Studio 插件。
PTS 能夠模擬大量用戶訪問業務的場景,任務隨時發起,免去搭建和維護成本,支持 JMeter 腳本轉化爲 PTS 壓測,一樣支持原生 JMeter 引擎進行壓測。
KT 能夠簡化在 Kubernetes 下進行聯調測試的複雜度,提升基於Kubernetes的研發效率。
AHAS 爲 K8s 等容器環境提供了架構可視化的功能,同時,具備故障注入式高可用能力評測和一鍵流控降級等功能,能夠快速低成本的提高應用可用性。
工具的使用場景:
EasyExcel 是一個用來對 Java 進行解析、生成Excel 的框架,它重寫了 poi 對07版 Excel 的解析,本來一個3M的 Excel 用POI sax須要100M左右內存,EasyExcel可下降到 KB 級別,而且再大的excel也不會出現內存溢出的狀況。03版依賴 POI 的 sax 模式。在上層作了模型轉換的封裝,讓使用者更加簡單方便。
HandyJSON 是一個用於 Swift 語言中的JSON序列化/反序列化庫。
與其餘流行的Swift JSON庫相比,HandyJSON 的特色是,它支持純 Swift 類,使用也簡單。它反序列化時(把 JSON 轉換爲Model)不要求 Model從 NSObject 繼承(由於它不是基於 KVC 機制),也不要求你爲 Model 定義一個 Mapping 函數。只要你定義好 Model 類,聲明它服從 HandyJSON 協議,HandyJSON 就能自行以各個屬性的屬性名爲Key,從JSON串中解析值。
EDAS Serverless 一款基於 Kubernetes,面向應用和微服務的 Serverless 平臺。用戶無需管理和維護集羣與服務器,便可經過鏡像、WAR 包和JAR 包,快速建立原生支持 Kubernetes 的容器應用,同時支持 Spring Cloud 和 Dubbo 等主流微服務框架。
Druid 是 Java 語言下的數據庫鏈接池,它可以提供強大的監控和擴展功能。
Alibaba Dragonwell 是阿里巴巴內部OpenJDK定製版AJDK的開源版本, AJDK爲在線電商,金融,物流作告終合業務場景的優化,運行在超大規模的,100,000+ 服務器的阿里巴巴數據中心。Alibaba Dragonwell與Java SE標準兼容,目前僅支持 Linux/x86_64平臺。