從人工到自動化,從重複到創新,技術演進的歷程中,伴隨着開發者工具類產品的發展。html
阿里巴巴將自身在各種業務場景下的技術積澱,經過開源、雲上實現或工具等形式對外開放,本文將精選了一些阿里巴巴的開發者工具,但願能幫助開發者們提升開發效率、更優雅的寫代碼。前端
因爲開發者涉及的技術領域衆多,筆者僅從本身的視角盤點平時可能用獲得的工具。每一個工具按照如下幾點進行介紹:react
Arthas 阿里巴巴2018年9月開源的一款Java線上診斷工具。git
工具的使用場景:github
一、這個類從哪一個 jar 包加載的?爲何會報各類類相關的 Exception?面試
二、我改的代碼爲何沒有執行到?難道是我沒 commit?分支搞錯了?數據庫
三、遇到問題沒法在線上 debug,難道只能經過加日誌再從新發布嗎?緩存
四、線上遇到某個用戶的數據處理有問題,但線上一樣沒法 debug,線下沒法重現!服務器
五、是否有一個全局視角來查看系統的運行情況?微信
六、有什麼辦法能夠監控到JVM的實時運行狀態?
Arthas支持JDK 6+,支持Linux/Mac/Windows,採用命令行交互模式,同時提供豐富的 Tab 自動補全功能,進一步方便進行問題的定位和診斷。
使用教程:基礎教程:
https://alibaba.github.io/art...
進階教程:
https://alibaba.github.io/art...
獲取方式:(免費)開源地址:
https://github.com/alibaba/ar...
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/docum...
Eclipse 版:
https://help.aliyun.com/docum...
PyCharm 版:
https://help.aliyun.com/docum...
Maven 版:
https://help.aliyun.com/docum...
獲取方式:(免費)工具地址:
https://www.aliyun.com/produc...
ChaosBlade 是一款遵循混沌工程實驗原理,提供豐富故障場景實現,幫助分佈式系統提高容錯性和可恢復性的混沌工程工具,可實現底層故障的注入,提供了延遲、異常、返回特定值、修改參數值、重複調用和try-catch 塊異常等異常場景。
工具的使用場景:
一、微服務的容錯能力不易衡量?
二、容器編排配置是否合理沒法驗證?
三、PaaS 層健壯性的測試工做無從入手?
使用教程:
https://github.com/chaosblade...
獲取方式:(免費)開源地址:
https://github.com/chaosblade...
該插件用於檢測 Java 代碼中存在的不規範的位置,並給予提示。規約插件是採用 Kotlin 語言開發。
使用教程:
IDEA插件使用文檔:
https://github.com/alibaba/p3...
Eclipse插件使用文檔:
https://github.com/alibaba/p3...
獲取方式:(免費)開源地址:
https://github.com/alibaba/p3c
ARMS 是一款 APM 類的監控工具,提供前端、應用、自定義監控 3 類監控選項,可快速構建實時的應用性能和業務監控能力。
工具的使用場景:
一、晚上10點收到37條報警信息,你卻無從下手?
二、當咱們發現問題的時候,客戶/業務方已經發起投訴?
三、每月花幾十萬買服務器,卻沒法保障用戶體驗?
使用教程:
前端監控接入:
https://help.aliyun.com/docum...
應用監控接入:
https://help.aliyun.com/docum...
自定義監控:
https://help.aliyun.com/docum...
獲取方式:(收費)工具地址:
https://www.aliyun.com/produc...
Docsite 一款集官網、文檔、博客和社區爲一體的靜態開源站點的解決方案,具備簡單易上手、上手不撒手的特質,同時支持 react 和靜態渲染、PC端和移動端、支持中英文國際化、SEO、markdown文檔、全局站點搜索、站點風格自定義、頁面自定義等功能。
使用教程:
https://docsite.js.org/zh-cn/...
獲取方式:(免費)項目地址:
https://github.com/txd-team/d...
Freeline 能夠充分利用緩存文件,在幾秒鐘內迅速地對代碼的改動進行編譯並部署到設備上,有效地減小了平常開發中的大量從新編譯與安裝的耗時。Freeline 最快捷的使用方法就是直接安裝 Android Studio 插件。
使用教程:
https://github.com/alibaba/fr...
獲取方式:(免費)項目地址:
https://github.com/alibaba/fr...
PTS 能夠模擬大量用戶訪問業務的場景,任務隨時發起,免去搭建和維護成本,支持 JMeter 腳本轉化爲 PTS 壓測,一樣支持原生 JMeter 引擎進行壓測。
使用教程:
https://help.aliyun.com/docum...
獲取方式:(收費)工具地址:
https://www.aliyun.com/produc...
KT 能夠簡化在 Kubernetes 下進行聯調測試的複雜度,提升基於Kubernetes的研發效率。
使用教程:
https://yq.aliyun.com/article...
獲取方式:(免費)工具地址:
https://yq.aliyun.com/downloa...
AHAS 爲 K8s 等容器環境提供了架構可視化的功能,同時,具備故障注入式高可用能力評測和一鍵流控降級等功能,能夠快速低成本的提高應用可用性。
工具的使用場景:
一、服務化改造過程當中,想精確的瞭解資源實例的構成和交互狀況,實現架構的可視化?
二、想引入真實的故障場景和演練模型?
三、低門檻得到流控、降級功能?
使用教程:
https://help.aliyun.com/docum...
獲取方式:(免費)工具地址:
https://www.aliyun.com/produc...
EasyExcel 是一個用來對 Java 進行解析、生成Excel 的框架,它重寫了 poi 對07版 Excel 的解析,本來一個3M的 Excel 用POI sax須要100M左右內存,EasyExcel可下降到 KB 級別,而且再大的excel也不會出現內存溢出的狀況。03版依賴 POI 的 sax 模式。在上層作了模型轉換的封裝,讓使用者更加簡單方便。
使用教程:
https://github.com/alibaba/ea...
獲取方式:(開源)
https://github.com/alibaba/ea...
HandyJSON 是一個用於 Swift 語言中的JSON序列化/反序列化庫。
與其餘流行的Swift JSON庫相比,HandyJSON 的特色是,它支持純 Swift 類,使用也簡單。它反序列化時(把 JSON 轉換爲Model)不要求 Model從 NSObject 繼承(由於它不是基於 KVC 機制),也不要求你爲 Model 定義一個 Mapping 函數。只要你定義好 Model 類,聲明它服從 HandyJSON 協議,HandyJSON 就能自行以各個屬性的屬性名爲Key,從JSON串中解析值。
使用教程:
https://github.com/alibaba/Ha...
獲取方式:(開源)
https://github.com/alibaba/Ha...
EDAS Serverless 一款基於 Kubernetes,面向應用和微服務的 Serverless 平臺。用戶無需管理和維護集羣與服務器,便可經過鏡像、WAR 包和JAR 包,快速建立原生支持 Kubernetes 的容器應用,同時支持 Spring Cloud 和 Dubbo 等主流微服務框架。
使用教程:
https://help.aliyun.com/docum...
獲取方式:(公測期間免費)
https://help.aliyun.com/docum...
Druid 是 Java 語言下的數據庫鏈接池,它可以提供強大的監控和擴展功能。
使用教程:https://github.com/alibaba/dr...
獲取方式:(開源)
http://central.maven.org/mave...
Alibaba Dragonwell 是阿里巴巴內部OpenJDK定製版AJDK的開源版本, AJDK爲在線電商,金融,物流作告終合業務場景的優化,運行在超大規模的,100,000+ 服務器的阿里巴巴數據中心。Alibaba Dragonwell與Java SE標準兼容,目前僅支持 Linux/x86_64平臺。
使用教程:https://github.com/alibaba/dr...
獲取方式:(開源)
https://github.com/alibaba/dr...
此外還分享了一些我的收集整理的資料。
分享的資料包括Android學習PDF+架構視頻+面試文檔+源碼筆記,還有高級架構技術進階腦圖、Android開發面試專題資料,高級進階架構資料幫助你們學習提高進階,也節省你們在網上搜索資料的時間來學習,也是能夠邀請身邊好友一塊兒來學習的!
微信二維碼↓
加入Android開發交流羣(820198451)免費領取