妥~阿里程序員常用的 15 款開發者工具

點擊上方“芋道源碼”,選擇“設爲星標

管她前浪,還是後浪?

能浪的浪,纔是好浪!

每天 8:55 更新文章,每天掉億點點頭髮...

源碼精品專欄

 

來源:jianshu.com/p/58ec32eef2d4

  • 一、Java 線上診斷工具 Arthas

  • 二、IDE 插件 Cloud Toolkit

  • 三、混沌實驗注入工具 ChaosBlade

  • 四、Java 代碼規約掃描插件

  • 五、應用實時監控工具 ARMS

  • 六、靜態開源站點搭建工具 Docsite

  • 七、Android 平臺上的秒級編譯方案 Freeline

  • 八、性能測試工具 PTS

  • 九、雲效開發者工具 KT

  • 十、架構可視化工具 AHAS

  • 十一、數據處理工具 EasyExcel

  • 十二、iOS 類工具 HandyJSON

  • 十三、雲上資源和應用部署工具 EDAS Serverless

  • 十四、數據庫連接池 Druid

  • 十五、Java 工具集 Dragonwell


從人工到自動化,從重複到創新,技術演進的歷程中,伴隨着開發者工具類產品的發展。

阿里巴巴將自身在各類業務場景下的技術積澱,通過開源、雲上實現或工具等形式對外開放,本文將精選了一些阿里巴巴的開發者工具,希望能幫助開發者們提高開發效率、更優雅的寫代碼。

由於開發者涉及的技術領域衆多,筆者僅從自己熟悉的領域,以後端開發者的視角盤點平時可能用得到的工具。每個工具按照以下幾點進行介紹:

工具名稱和簡介

使用場景

使用教程

獲取方式

一、Java 線上診斷工具 Arthas

Arthas 是阿里巴巴 2018 年 9 月開源的一款 Java 線上診斷工具。

工具的使用場景:

這個類從哪個 jar 包加載的?爲什麼會報各種類相關的 Exception?

我改的代碼爲什麼沒有執行到?難道是我沒 commit?分支搞錯了?

遇到問題無法在線上 debug,難道只能通過加日誌再重新發布嗎?

線上遇到某個用戶的數據處理有問題,但線上同樣無法 debug,線下無法重現!

是否有一個全局視角來查看系統的運行狀況?

有什麼辦法可以監控到 JVM 的實時運行狀態?

Arthas 支持 JDK 6+,支持 Linux/Mac/Windows,採用命令行交互模式,同時提供豐富的 Tab 自動補全功能,進一步方便進行問題的定位和診斷。

使用教程:

基礎教程: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 插件,可以幫助開發者更高效地開發、測試、診斷並部署應用。通過 Cloud Toolkit,開發者能夠方便地將本地應用一鍵部署到任意機器(本地或雲端),並內置 Arthas 診斷、高效執行終端命令和 SQL 等,提供 IntelliJ IDEA 版,Eclipse 版,PyCharm 版和 Maven 版。

工具的使用場景:

每次修改完代碼後,是否正在經歷反覆地打包?

在 Maven 、Git 以及其他運維腳本和工具的之間頻繁切換?

採用 SCP 工具上傳?使用 XShell 或 SecureCRT 登錄服務器?替換部署包?重啓?

文件上傳到服務器指定目錄,在各種 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 是一款遵循混沌工程實驗原理,提供豐富故障場景實現,幫助分佈式系統提升容錯性和可恢復性的混沌工程工具,可實現底層故障的注入,提供了延遲、異常、返回特定值、修改參數值、重複調用和 try-catch 塊異常等異常場景。

工具的使用場景:

微服務的容錯能力不易衡量?

容器編排配置是否合理無法驗證?

PaaS 層健壯性的測試工作無從入手?

使用教程:https://github.com/chaosblade-io/chaosblade/wiki/新手指南

獲取方式:(開源)

開源地址:https://github.com/chaosblade-io/chaosblade/wiki/新手指南

四、Java 代碼規約掃描插件

該插件用於檢測 Java 代碼中存在的不規範的位置,並給予提示。規約插件是採用 Kotlin 語言開發。

使用教程:

IDEA插件使用文檔:https://github.com/alibaba/p3c/wiki/IDEA插件使用文檔

Eclipse插件使用文檔:https://github.com/alibaba/p3c/wiki/Eclipse插件使用文檔

獲取方式:(開源)

開源地址:https://github.com/alibaba/p3c

五、應用實時監控工具 ARMS

ARMS 是一款 APM 類的監控工具,提供前端、應用、自定義監控 3 類監控選項,可快速構建實時的應用性能和業務監控能力。

工具的使用場景:

晚上 10 點收到 37 報警信息,你卻無從下手?

當我們發現問題的時候,客戶/業務方已經發起投訴?

每個月花幾十萬買服務器,卻無法保障用戶體驗?

使用教程:

前端監控接入:https://help.aliyun.com/documentdetail/106086.html

應用監控接入:https://help.aliyun.com/documentdetail/63796.html

自定義監控:https://help.aliyun.com/document_detail/47474.html

獲取方式:(收費)

工具地址:https://www.aliyun.com/product/arms

六、靜態開源站點搭建工具 Docsite

Docsite 一款集官網、文檔、博客和社區爲一體的靜態開源站點的解決方案,具有簡單易上手、上手不撒手的特質,同時支持 react 和靜態渲染、PC端和移動端、支持中英文國際化、SEO、markdown 文檔、全局站點搜索、站點風格自定義、頁面自定義等功能。

使用教程:https://docsite.js.org/zh-cn/docs/installation.html

獲取方式:(開源)

項目地址:https://github.com/txd-team/docsite

七、Android 平臺上的秒級編譯方案 Freeline

Freeline 可以充分利用緩存文件,在幾秒鐘內迅速地對代碼的改動進行編譯並部署到設備上,有效地減少了日常開發中的大量重新編譯與安裝的耗時。Freeline 最快捷的使用方法就是直接安裝 Android Studio 插件。

使用教程:https://github.com/alibaba/freeline/blob/master/README-zh.md

獲取方式:(開源)

項目地址:https://github.com/alibaba/freeline

八、性能測試工具 PTS

PTS 可以模擬大量用戶訪問業務的場景,任務隨時發起,免去搭建和維護成本,支持 JMeter 腳本轉化爲 PTS 壓測,同樣支持原生 JMeter 引擎進行壓測。

使用教程:https://help.aliyun.com/document_detail/70290.html

獲取方式:(收費)

工具地址:https://www.aliyun.com/product/pts

九、雲效開發者工具 KT

KT 可以簡化在 Kubernetes 下進行聯調測試的複雜度,提高基於 Kubernetes 的研發效率。

使用教程:https://yq.aliyun.com/articles/690519

獲取方式:(免費)

工具地址:https://yq.aliyun.com/download/3393

十、架構可視化工具 AHAS

AHAS 爲 K8s 等容器環境提供了架構可視化的功能,同時,具有故障注入式高可用能力評測和一鍵流控降級等功能,可以快速低成本的提升應用可用性。

工具的使用場景:

服務化改造過程中,想精確的瞭解資源實例的構成和交互情況,實現架構的可視化?

想引入真實的故障場景和演練模型?

低門檻獲得流控、降級功能?

使用教程:https://help.aliyun.com/document_detail/90323.html

獲取方式:(免費)

工具地址:https://www.aliyun.com/product/ahas

十一、數據處理工具 EasyExcel

EasyExcel 是一個用來對 Java 進行解析、生成Excel 的框架,它重寫了 poi 對07版 Excel 的解析,原本一個3M的 Excel 用POI sax需要100M左右內存,EasyExcel可降低到 KB 級別,並且再大的excel也不會出現內存溢出的情況。03版依賴 POI 的 sax 模式。在上層做了模型轉換的封裝,讓使用者更加簡單方便。

使用教程:https://github.com/alibaba/easyexcel/blob/master/quickstart.md

獲取方式:(開源)

工具地址:https://github.com/alibaba/easyexcel

十二、iOS 類工具 HandyJSON

HandyJSON 是一個用於 Swift 語言中的JSON序列化/反序列化庫。

與其他流行的 Swift JSON 庫相比,HandyJSON 的特點是,它支持純 Swift 類,使用也簡單。它反序列化時(把 JSON 轉換爲 Model)不要求 Model從 NSObject 繼承(因爲它不是基於 KVC 機制),也不要求你爲 Model 定義一個 Mapping 函數。只要你定義好 Model 類,聲明它服從 HandyJSON 協議,HandyJSON 就能自行以各個屬性的屬性名爲 Key,從 JSON 串中解析值。

使用教程:https://github.com/alibaba/HandyJSON/blob/master/README_cn.md

獲取方式:(開源)

工具地址:https://github.com/alibaba/HandyJSON

十三、雲上資源和應用部署工具 EDAS Serverless

EDAS Serverless 一款基於 Kubernetes,面向應用和微服務的 Serverless 平臺。用戶無需管理和維護集羣與服務器,即可通過鏡像、WAR 包和 JAR 包,快速創建原生支持 Kubernetes 的容器應用,同時支持 Spring Cloud 和 Dubbo 等主流微服務框架。

使用教程:https://help.aliyun.com/document_detail/102048.html

獲取方式:(公測期間免費)

工具地址:https://help.aliyun.com/document_detail/97792.html

十四、數據庫連接池 Druid

Druid 是 Java 語言下的數據庫連接池,它能夠提供強大的監控和擴展功能。

使用教程:https://github.com/alibaba/druid/wiki/常見問題

獲取方式:(開源)

工具地址:http://central.maven.org/maven2/com/alibaba/druid/

十五、Java 工具集 Dragonwell

Alibaba Dragonwell 是阿里巴巴內部 OpenJDK 定製版 AJDK 的開源版本, AJDK 爲在線電商,金融,物流做了結合業務場景的優化,運行在超大規模的,100,000+ 服務器的阿里巴巴數據中心。Alibaba Dragonwell 與 Java SE 標準兼容,目前僅支持 Linux/x86_64 平臺。

使用教程:https://github.com/alibaba/dragonwell8/wiki/阿里巴巴Dragonwell8用戶指南

獲取方式:(開源)

工具地址:https://github.com/alibaba/dragonwell8



歡迎加入我的知識星球,一起探討架構,交流源碼。加入方式,長按下方二維碼噢

已在知識星球更新源碼解析如下:

最近更新《芋道 SpringBoot 2.X 入門》系列,已經 20 餘篇,覆蓋了 MyBatis、Redis、MongoDB、ES、分庫分表、讀寫分離、SpringMVC、Webflux、權限、WebSocket、Dubbo、RabbitMQ、RocketMQ、Kafka、性能測試等等內容。

提供近 3W 行代碼的 SpringBoot 示例,以及超 4W 行代碼的電商微服務項目。

獲取方式:點“在看”,關注公衆號並回復 666 領取,更多內容陸續奉上。

兄弟,一口,點個????

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章