1. 程式人生 > >更效率、更優雅 | 阿里巴巴開發者工具不完全盤點

更效率、更優雅 | 阿里巴巴開發者工具不完全盤點

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

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

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

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

一、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 等。

工具的使用場景:

每次修改完程式碼後,是否正在經歷反覆地打包?在 Maven 、Git 以及其他運維指令碼和工具的之間頻繁切換?
採用 SCP 工具上傳?使用XShell或SecureCRT登陸伺服器?替換部署包?重啟?
檔案上傳到伺服器指定目錄,在各種 FTP、SCP 工具之間頻繁切換 ?

使用教程:

獲取方式:(免費)
工具地址: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/document_detail/106086.html
應用監控接入:https://help.aliyun.com/document_detail/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

作者:中介軟體小哥

原文連結

本文為雲棲社群原創內容,未經