妥~阿里程序員常用的 15 款開發(fā)者工具
來源:jianshu.com/p/58ec32eef2d4
一、Java 線上診斷工具 Arthas 二、IDE 插件 Cloud Toolkit 三、混沌實驗注入工具 ChaosBlade 四、Java 代碼規(guī)約掃描插件 五、應(yīng)用實時監(jiān)控工具 ARMS 六、靜態(tài)開源站點搭建工具 Docsite 七、Android 平臺上的秒級編譯方案 Freeline 八、性能測試工具 PTS 九、云效開發(fā)者工具 KT 十、架構(gòu)可視化工具 AHAS 十一、數(shù)據(jù)處理工具 EasyExcel 十二、iOS 類工具 HandyJSON 十三、云上資源和應(yīng)用部署工具 EDAS Serverless 十四、數(shù)據(jù)庫連接池 Druid 十五、Java 工具集 Dragonwell
從人工到自動化,從重復到創(chuàng)新,技術(shù)演進的歷程中,伴隨著開發(fā)者工具類產(chǎn)品的發(fā)展。
阿里巴巴將自身在各類業(yè)務(wù)場景下的技術(shù)積淀,通過開源、云上實現(xiàn)或工具等形式對外開放,本文將精選了一些阿里巴巴的開發(fā)者工具,希望能幫助開發(fā)者們提高開發(fā)效率、更優(yōu)雅的寫代碼。
由于開發(fā)者涉及的技術(shù)領(lǐng)域眾多,筆者僅從自己熟悉的領(lǐng)域,以后端開發(fā)者的視角盤點平時可能用得到的工具。每個工具按照以下幾點進行介紹:
工具名稱和簡介
使用場景
使用教程
獲取方式
一、Java 線上診斷工具 Arthas
Arthas 是阿里巴巴 2018 年 9 月開源的一款 Java 線上診斷工具。
工具的使用場景:
這個類從哪個 jar 包加載的?為什么會報各種類相關(guān)的 Exception?
我改的代碼為什么沒有執(zhí)行到?難道是我沒 commit?分支搞錯了?
遇到問題無法在線上 debug,難道只能通過加日志再重新發(fā)布嗎?
線上遇到某個用戶的數(shù)據(jù)處理有問題,但線上同樣無法 debug,線下無法重現(xiàn)!
是否有一個全局視角來查看系統(tǒng)的運行狀況?
有什么辦法可以監(jiān)控到 JVM 的實時運行狀態(tài)?
Arthas 支持 JDK 6+,支持 Linux/Mac/Windows,采用命令行交互模式,同時提供豐富的 Tab 自動補全功能,進一步方便進行問題的定位和診斷。
使用教程:
基礎(chǔ)教程:https://alibaba.github.io/arthas/arthas-tutorials?language=cn&id=arthas-basics
進階教程:https://alibaba.github.io/arthas/arthas-tutorials?language=cn&id=arthas-advanced
獲取方式:(開源)
開源地址:https://github.com/alibaba/arthas
二、IDE 插件 Cloud Toolkit
Cloud Toolkit 是一款 IDE 插件,可以幫助開發(fā)者更高效地開發(fā)、測試、診斷并部署應(yīng)用。通過 Cloud Toolkit,開發(fā)者能夠方便地將本地應(yīng)用一鍵部署到任意機器(本地或云端),并內(nèi)置 Arthas 診斷、高效執(zhí)行終端命令和 SQL 等,提供 IntelliJ IDEA 版,Eclipse 版,PyCharm 版和 Maven 版。
工具的使用場景:
每次修改完代碼后,是否正在經(jīng)歷反復地打包?
在 Maven 、Git 以及其他運維腳本和工具的之間頻繁切換?
采用 SCP 工具上傳?使用 XShell 或 SecureCRT 登錄服務(wù)器?替換部署包?重啟?
文件上傳到服務(wù)器指定目錄,在各種 FTP、SCP 工具之間頻繁切換 ?
使用教程:
IntelliJ IDEA 版:https://help.aliyun.com/document_detail/98762.html
Eclipse 版:https://help.aliyun.com/document_detail/29970.html
PyCharm 版:https://help.aliyun.com/document_detail/112740.html
Maven 版:https://help.aliyun.com/document_detail/108682.html
獲取方式:(免費)
工具地址:https://www.aliyun.com/product/cloudtoolkit
三、混沌實驗注入工具 ChaosBlade
ChaosBlade 是一款遵循混沌工程實驗原理,提供豐富故障場景實現(xiàn),幫助分布式系統(tǒng)提升容錯性和可恢復性的混沌工程工具,可實現(xiàn)底層故障的注入,提供了延遲、異常、返回特定值、修改參數(shù)值、重復調(diào)用和 try-catch 塊異常等異常場景。
工具的使用場景:
微服務(wù)的容錯能力不易衡量?
容器編排配置是否合理無法驗證?
PaaS 層健壯性的測試工作無從入手?
使用教程:https://github.com/chaosblade-io/chaosblade/wiki/新手指南
獲取方式:(開源)
開源地址:https://github.com/chaosblade-io/chaosblade/wiki/新手指南
四、Java 代碼規(guī)約掃描插件
該插件用于檢測 Java 代碼中存在的不規(guī)范的位置,并給予提示。規(guī)約插件是采用 Kotlin 語言開發(fā)。
使用教程:
IDEA插件使用文檔:https://github.com/alibaba/p3c/wiki/IDEA插件使用文檔
Eclipse插件使用文檔:https://github.com/alibaba/p3c/wiki/Eclipse插件使用文檔
獲取方式:(開源)
開源地址:https://github.com/alibaba/p3c
五、應(yīng)用實時監(jiān)控工具 ARMS
ARMS 是一款 APM 類的監(jiān)控工具,提供前端、應(yīng)用、自定義監(jiān)控 3 類監(jiān)控選項,可快速構(gòu)建實時的應(yīng)用性能和業(yè)務(wù)監(jiān)控能力。
工具的使用場景:
晚上 10 點收到 37 報警信息,你卻無從下手?
當我們發(fā)現(xiàn)問題的時候,客戶/業(yè)務(wù)方已經(jīng)發(fā)起投訴?
每個月花幾十萬買服務(wù)器,卻無法保障用戶體驗?
使用教程:
前端監(jiān)控接入:https://help.aliyun.com/documentdetail/106086.html
應(yīng)用監(jiān)控接入:https://help.aliyun.com/documentdetail/63796.html
自定義監(jiān)控:https://help.aliyun.com/document_detail/47474.html
獲取方式:(收費)
工具地址:https://www.aliyun.com/product/arms
六、靜態(tài)開源站點搭建工具 Docsite
Docsite 一款集官網(wǎng)、文檔、博客和社區(qū)為一體的靜態(tài)開源站點的解決方案,具有簡單易上手、上手不撒手的特質(zhì),同時支持 react 和靜態(tài)渲染、PC端和移動端、支持中英文國際化、SEO、markdown 文檔、全局站點搜索、站點風格自定義、頁面自定義等功能。
使用教程:https://docsite.js.org/zh-cn/docs/installation.html
獲取方式:(開源)
項目地址:https://github.com/txd-team/docsite
七、Android 平臺上的秒級編譯方案 Freeline
Freeline 可以充分利用緩存文件,在幾秒鐘內(nèi)迅速地對代碼的改動進行編譯并部署到設(shè)備上,有效地減少了日常開發(fā)中的大量重新編譯與安裝的耗時。Freeline 最快捷的使用方法就是直接安裝 Android Studio 插件。
使用教程:https://github.com/alibaba/freeline/blob/master/README-zh.md
獲取方式:(開源)
項目地址:https://github.com/alibaba/freeline
八、性能測試工具 PTS
PTS 可以模擬大量用戶訪問業(yè)務(wù)的場景,任務(wù)隨時發(fā)起,免去搭建和維護成本,支持 JMeter 腳本轉(zhuǎn)化為 PTS 壓測,同樣支持原生 JMeter 引擎進行壓測。
使用教程:https://help.aliyun.com/document_detail/70290.html
獲取方式:(收費)
工具地址:https://www.aliyun.com/product/pts
九、云效開發(fā)者工具 KT
KT 可以簡化在 Kubernetes 下進行聯(lián)調(diào)測試的復雜度,提高基于 Kubernetes 的研發(fā)效率。
使用教程:https://yq.aliyun.com/articles/690519
獲取方式:(免費)
工具地址:https://yq.aliyun.com/download/3393
十、架構(gòu)可視化工具 AHAS
AHAS 為 K8s 等容器環(huán)境提供了架構(gòu)可視化的功能,同時,具有故障注入式高可用能力評測和一鍵流控降級等功能,可以快速低成本的提升應(yīng)用可用性。
工具的使用場景:
服務(wù)化改造過程中,想精確的了解資源實例的構(gòu)成和交互情況,實現(xiàn)架構(gòu)的可視化?
想引入真實的故障場景和演練模型?
低門檻獲得流控、降級功能?
使用教程:https://help.aliyun.com/document_detail/90323.html
獲取方式:(免費)
工具地址:https://www.aliyun.com/product/ahas
十一、數(shù)據(jù)處理工具 EasyExcel
EasyExcel 是一個用來對 Java 進行解析、生成Excel 的框架,它重寫了 poi 對07版 Excel 的解析,原本一個3M的 Excel 用POI sax需要100M左右內(nèi)存,EasyExcel可降低到 KB 級別,并且再大的excel也不會出現(xiàn)內(nèi)存溢出的情況。03版依賴 POI 的 sax 模式。在上層做了模型轉(zhuǎn)換的封裝,讓使用者更加簡單方便。
使用教程:https://github.com/alibaba/easyexcel/blob/master/quickstart.md
獲取方式:(開源)
工具地址:https://github.com/alibaba/easyexcel
十二、iOS 類工具 HandyJSON
HandyJSON 是一個用于 Swift 語言中的JSON序列化/反序列化庫。
與其他流行的 Swift JSON 庫相比,HandyJSON 的特點是,它支持純 Swift 類,使用也簡單。它反序列化時(把 JSON 轉(zhuǎn)換為 Model)不要求 Model從 NSObject 繼承(因為它不是基于 KVC 機制),也不要求你為 Model 定義一個 Mapping 函數(shù)。只要你定義好 Model 類,聲明它服從 HandyJSON 協(xié)議,HandyJSON 就能自行以各個屬性的屬性名為 Key,從 JSON 串中解析值。
使用教程:https://github.com/alibaba/HandyJSON/blob/master/README_cn.md
獲取方式:(開源)
工具地址:https://github.com/alibaba/HandyJSON
十三、云上資源和應(yīng)用部署工具 EDAS Serverless
EDAS Serverless 一款基于 Kubernetes,面向應(yīng)用和微服務(wù)的 Serverless 平臺。用戶無需管理和維護集群與服務(wù)器,即可通過鏡像、WAR 包和 JAR 包,快速創(chuàng)建原生支持 Kubernetes 的容器應(yīng)用,同時支持 Spring Cloud 和 Dubbo 等主流微服務(wù)框架。
使用教程:https://help.aliyun.com/document_detail/102048.html
獲取方式:(公測期間免費)
工具地址:https://help.aliyun.com/document_detail/97792.html
十四、數(shù)據(jù)庫連接池 Druid
Druid 是 Java 語言下的數(shù)據(jù)庫連接池,它能夠提供強大的監(jiān)控和擴展功能。
使用教程:https://github.com/alibaba/druid/wiki/常見問題
獲取方式:(開源)
工具地址:http://central.maven.org/maven2/com/alibaba/druid/
十五、Java 工具集 Dragonwell
Alibaba Dragonwell 是阿里巴巴內(nèi)部 OpenJDK 定制版 AJDK 的開源版本, AJDK 為在線電商,金融,物流做了結(jié)合業(yè)務(wù)場景的優(yōu)化,運行在超大規(guī)模的,100,000+ 服務(wù)器的阿里巴巴數(shù)據(jù)中心。Alibaba Dragonwell 與 Java SE 標準兼容,目前僅支持 Linux/x86_64 平臺。
使用教程:https://github.com/alibaba/dragonwell8/wiki/阿里巴巴Dragonwell8用戶指南
獲取方式:(開源)
工具地址:https://github.com/alibaba/dragonwell8
END
往期推薦
下方二維碼關(guān)注我

互聯(lián)網(wǎng)草根,堅持分享技術(shù)、創(chuàng)業(yè)、產(chǎn)品等心得和總結(jié)~

點擊“閱讀原文”,領(lǐng)取 2020 年最新免費技術(shù)資料大全




