Alibaba常用的 15 款開發(fā)者工具

從人工到自動化,從重復到創(chuàng)新,技術演進的歷程中,伴隨著開發(fā)者工具類產(chǎn)品的發(fā)展。

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

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

  • 工具名稱和簡介
  • 使用場景
  • 使用教程
  • 獲取方式

一、Java 線上診斷工具 Arthas

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

工具的使用場景:

  • 這個類從哪個 jar 包加載的?為什么會報各種類相關的 Exception?
  • 我改的代碼為什么沒有執(zhí)行到?難道是我沒 commit?分支搞錯了?
  • 遇到問題無法在線上 debug,難道只能通過加日志再重新發(fā)布嗎?
  • 線上遇到某個用戶的數(shù)據(jù)處理有問題,但線上同樣無法 debug,線下無法重現(xiàn)!
  • 是否有一個全局視角來查看系統(tǒng)的運行狀況?
  • 有什么辦法可以監(jiān)控到 JVM 的實時運行狀態(tài)?

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

工具的使用場景:

  • 每次修改完代碼后,是否正在經(jīng)歷反復地打包?
  • 在 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是一款遵循混沌工程實驗原理,提供豐富故障場景實現(xiàn),幫助分布式系統(tǒng)提升容錯性和可恢復性的混沌工程工具,可實現(xiàn)底層故障的注入,提供了延遲、異常、返回特定值、修改參數(shù)值、重復調(diào)用和 try-catch 塊異常等異常場景。

工具的使用場景:

  • 微服務的容錯能力不易衡量?
  • 容器編排配置是否合理無法驗證?
  • 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

五、應用實時監(jiān)控工具 ARMS

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

工具的使用場景:

  • 晚上 10 點收到 37 條報警信息,你卻無從下手?
  • 當我們發(fā)現(xiàn)問題的時候,客戶 / 業(yè)務方已經(jīng)發(fā)起投訴?
  • 每個月花幾十萬買服務器,卻無法保障用戶體驗?

使用教程

前端監(jiān)控接入:

https://help.aliyun.com/documentdetail/106086.html

應用監(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)開源站點的解決方案,具有簡單易上手、上手不撒手的特質,同時支持 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)迅速地對代碼的改動進行編譯并部署到設備上,有效地減少了日常開發(fā)中的大量重新編譯與安裝的耗時。Freeline 最快捷的使用方法就是直接安裝 Android Studio 插件。

使用教程

https://github.com/alibaba/freeline/blob/master/README-zh.md

獲取方式:(免費)

項目地址:

https://github.com/alibaba/freeline

八、性能測試工具 PTS

PTS可以模擬大量用戶訪問業(yè)務的場景,任務隨時發(fā)起,免去搭建和維護成本,支持 JMeter 腳本轉化為 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

十、架構可視化工具 AHAS

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

工具的使用場景

  • 服務化改造過程中,想精確的了解資源實例的構成和交互情況,實現(xiàn)架構的可視化?
  • 想引入真實的故障場景和演練模型?
  • 低門檻獲得流控、降級功能?

使用教程

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 模式。在上層做了模型轉換的封裝,讓使用者更加簡單方便。

使用教程

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 函數(shù)。只要你定義好 Model 類,聲明它服從 HandyJSON 協(xié)議,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 包,快速創(chuàng)建原生支持 Kubernetes 的容器應用,同時支持 Spring Cloud 和 Dubbo 等主流微服務框架。

使用教程

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 為在線電商,金融,物流做了結合業(yè)務場景的優(yōu)化,運行在超大規(guī)模的,100,000+ 服務器的阿里巴巴數(shù)據(jù)中心。 Alibaba Dragonwell 與 Java SE 標準兼容,目前僅支持 Linux/x86_64 平臺。

使用教程

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

獲取方式:(開源)

https://github.com/alibaba/dragonwell8

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 從人工到自動化,從重復到創(chuàng)新,技術演進的歷程中,伴隨著開發(fā)者工具類產(chǎn)品的發(fā)展。 阿里巴巴將自身在各類業(yè)務場景下的技...
    夜風月圓閱讀 1,111評論 0 28
  • 這時陌北溟終于看清了周圍的環(huán)境。 院落里的草長的已經(jīng)及膝,還有一些地方卻露出了裸露的土地,形成強烈對比。盤根錯節(jié)的...
    霜月落花閱讀 90評論 0 0
  • 六點四十分開始做彤寶昨天晚間點的爸爸牌紅燒油萊肉絲。切好料洗好菜準備好下鍋,先調(diào)料汁,因為年歲大眼拙把老抽當生抽倒...
    86bd57162429閱讀 172評論 0 1
  • 開學遙遙無期,這對本就不富裕的大學生來說可真是雪上加霜啊。沒有生活費、沒有地位、沒有可愛的小伙伴,在最困難時期與自...
    歸荑1閱讀 564評論 2 20
  • 每次白天就在想,分享的內(nèi)容應該寫些什么?晚上真到寫的時候,反倒是什么都不想寫,還覺得心煩。只是這是一定要...
    追逐夢的自由閱讀 280評論 0 0

友情鏈接更多精彩內(nèi)容