阿里巴巴程序員常用的 15 款開(kāi)發(fā)者工具

從人工到自動(dòng)化肋杖,從重復(fù)到創(chuàng)新,技術(shù)演進(jìn)的歷程中勘纯,伴隨著開(kāi)發(fā)者工具類(lèi)產(chǎn)品的發(fā)展局服。

阿里巴巴將自身在各類(lèi)業(yè)務(wù)場(chǎng)景下的技術(shù)積淀,通過(guò)開(kāi)源驳遵、云上實(shí)現(xiàn)或工具等形式對(duì)外開(kāi)放淫奔,本文將精選了一些阿里巴巴的開(kāi)發(fā)者工具,希望能幫助開(kāi)發(fā)者們提高開(kāi)發(fā)效率堤结、更優(yōu)雅的寫(xiě)代碼唆迁。

由于開(kāi)發(fā)者涉及的技術(shù)領(lǐng)域眾多,筆者僅從自己熟悉的領(lǐng)域竞穷,以后端開(kāi)發(fā)者的視角盤(pán)點(diǎn)平時(shí)可能用得到的工具唐责。每個(gè)工具按照以下幾點(diǎn)進(jìn)行介紹:

  • 工具名稱(chēng)和簡(jiǎn)介
  • 使用場(chǎng)景

一、Java 線上診斷工具 Arthas


Arthas 阿里巴巴2018年9月開(kāi)源的一款Java線上診斷工具瘾带。

工具的使用場(chǎng)景

  • 這個(gè)類(lèi)從哪個(gè) jar 包加載的鼠哥?為什么會(huì)報(bào)各種類(lèi)相關(guān)的 Exception?
  • 我改的代碼為什么沒(méi)有執(zhí)行到看政?難道是我沒(méi) commit朴恳?分支搞錯(cuò)了?
  • 遇到問(wèn)題無(wú)法在線上 debug帽衙,難道只能通過(guò)加日志再重新發(fā)布嗎菜皂?
  • 線上遇到某個(gè)用戶的數(shù)據(jù)處理有問(wèn)題,但線上同樣無(wú)法 debug厉萝,線下無(wú)法重現(xiàn)恍飘!
  • 是否有一個(gè)全局視角來(lái)查看系統(tǒng)的運(yùn)行狀況?
  • 有什么辦法可以監(jiān)控到JVM的實(shí)時(shí)運(yùn)行狀態(tài)谴垫?

Arthas支持JDK 6+章母,支持Linux/Mac/Windows,采用命令行交互模式翩剪,同時(shí)提供豐富的 Tab 自動(dòng)補(bǔ)全功能乳怎,進(jìn)一步方便進(jìn)行問(wèn)題的定位和診斷。

二前弯、IDE 插件 Cloud Toolkit


Cloud Toolkit 是一款 IDE 插件蚪缀,可以幫助開(kāi)發(fā)者更高效地開(kāi)發(fā)、測(cè)試恕出、診斷并部署應(yīng)用询枚。通過(guò) Cloud Toolkit,開(kāi)發(fā)者能夠方便地將本地應(yīng)用一鍵部署到任意機(jī)器(本地或云端)浙巫,并內(nèi)置 Arthas 診斷金蜀、高效執(zhí)行終端命令和 SQL 等刷后,提供 IntelliJ IDEA 版,Eclipse 版渊抄,PyCharm 版和 Maven 版尝胆。

工具的使用場(chǎng)景

  • 每次修改完代碼后,是否正在經(jīng)歷反復(fù)地打包护桦?
  • 在 Maven 含衔、Git 以及其他運(yùn)維腳本和工具的之間頻繁切換?
  • 采用 SCP 工具上傳嘶炭?使用XShell或SecureCRT登陸服務(wù)器抱慌?替換部署包?重啟眨猎?
  • 文件上傳到服務(wù)器指定目錄抑进,在各種 FTP、SCP 工具之間頻繁切換 睡陪?

三寺渗、混沌實(shí)驗(yàn)注入工具 ChaosBlade


ChaosBlade 是一款遵循混沌工程實(shí)驗(yàn)原理,提供豐富故障場(chǎng)景實(shí)現(xiàn)兰迫,幫助分布式系統(tǒng)提升容錯(cuò)性和可恢復(fù)性的混沌工程工具信殊,可實(shí)現(xiàn)底層故障的注入,提供了延遲汁果、異常涡拘、返回特定值、修改參數(shù)值据德、重復(fù)調(diào)用和try-catch 塊異常等異常場(chǎng)景鳄乏。

工具的使用場(chǎng)景

  • 微服務(wù)的容錯(cuò)能力不易衡量?
  • 容器編排配置是否合理無(wú)法驗(yàn)證棘利?
  • PaaS 層健壯性的測(cè)試工作無(wú)從入手橱野?

四、Java 代碼規(guī)約掃描插件


該插件用于檢測(cè) Java 代碼中存在的不規(guī)范的位置善玫,并給予提示水援。規(guī)約插件是采用 Kotlin 語(yǔ)言開(kāi)發(fā)。

五茅郎、應(yīng)用實(shí)時(shí)監(jiān)控工具 ARMS


ARMS 是一款 APM 類(lèi)的監(jiān)控工具蜗元,提供前端、應(yīng)用系冗、自定義監(jiān)控 3 類(lèi)監(jiān)控選項(xiàng)奕扣,可快速構(gòu)建實(shí)時(shí)的應(yīng)用性能和業(yè)務(wù)監(jiān)控能力。

工具的使用場(chǎng)景

  • 晚上10點(diǎn)收到37條報(bào)警信息毕谴,你卻無(wú)從下手成畦?
  • 當(dāng)我們發(fā)現(xiàn)問(wèn)題的時(shí)候,客戶/業(yè)務(wù)方已經(jīng)發(fā)起投訴涝开?
  • 每個(gè)月花幾十萬(wàn)買(mǎi)服務(wù)器循帐,卻無(wú)法保障用戶體驗(yàn)?

六舀武、靜態(tài)開(kāi)源站點(diǎn)搭建工具 Docsite


Docsite 一款集官網(wǎng)拄养、文檔、博客和社區(qū)為一體的靜態(tài)開(kāi)源站點(diǎn)的解決方案银舱,具有簡(jiǎn)單易上手瘪匿、上手不撒手的特質(zhì),同時(shí)支持 react 和靜態(tài)渲染寻馏、PC端和移動(dòng)端棋弥、支持中英文國(guó)際化、SEO诚欠、markdown文檔顽染、全局站點(diǎn)搜索、站點(diǎn)風(fēng)格自定義轰绵、頁(yè)面自定義等功能粉寞。

七、Android 平臺(tái)上的秒級(jí)編譯方案 Freeline


Freeline 可以充分利用緩存文件左腔,在幾秒鐘內(nèi)迅速地對(duì)代碼的改動(dòng)進(jìn)行編譯并部署到設(shè)備上唧垦,有效地減少了日常開(kāi)發(fā)中的大量重新編譯與安裝的耗時(shí)。Freeline 最快捷的使用方法就是直接安裝 Android Studio 插件液样。

八振亮、性能測(cè)試工具 PTS


PTS 可以模擬大量用戶訪問(wèn)業(yè)務(wù)的場(chǎng)景,任務(wù)隨時(shí)發(fā)起蓄愁,免去搭建和維護(hù)成本双炕,支持 JMeter 腳本轉(zhuǎn)化為 PTS 壓測(cè),同樣支持原生 JMeter 引擎進(jìn)行壓測(cè)撮抓。

九妇斤、云效開(kāi)發(fā)者工具KT


KT 可以簡(jiǎn)化在 Kubernetes 下進(jìn)行聯(lián)調(diào)測(cè)試的復(fù)雜度,提高基于Kubernetes的研發(fā)效率丹拯。

十站超、架構(gòu)可視化工具 AHAS


AHAS 為 K8s 等容器環(huán)境提供了架構(gòu)可視化的功能,同時(shí)乖酬,具有故障注入式高可用能力評(píng)測(cè)和一鍵流控降級(jí)等功能死相,可以快速低成本的提升應(yīng)用可用性。

工具的使用場(chǎng)景

  • 服務(wù)化改造過(guò)程中咬像,想精確的了解資源實(shí)例的構(gòu)成和交互情況算撮,實(shí)現(xiàn)架構(gòu)的可視化生宛?
  • 想引入真實(shí)的故障場(chǎng)景和演練模型?
  • 低門(mén)檻獲得流控肮柜、降級(jí)功能陷舅?

十一、數(shù)據(jù)處理工具 EasyExcel


EasyExcel 是一個(gè)用來(lái)對(duì) Java 進(jìn)行解析审洞、生成Excel 的框架莱睁,它重寫(xiě)了 poi 對(duì)07版 Excel 的解析,原本一個(gè)3M的 Excel 用POI sax需要100M左右內(nèi)存芒澜,EasyExcel可降低到 KB 級(jí)別仰剿,并且再大的excel也不會(huì)出現(xiàn)內(nèi)存溢出的情況。03版依賴(lài) POI 的 sax 模式痴晦。在上層做了模型轉(zhuǎn)換的封裝南吮,讓使用者更加簡(jiǎn)單方便。

十二誊酌、iOS 類(lèi)工具 HandyJSON


HandyJSON 是一個(gè)用于 Swift 語(yǔ)言中的JSON序列化/反序列化庫(kù)旨袒。

與其他流行的Swift JSON庫(kù)相比,HandyJSON 的特點(diǎn)是术辐,它支持純 Swift 類(lèi)砚尽,使用也簡(jiǎn)單。它反序列化時(shí)(把 JSON 轉(zhuǎn)換為Model)不要求 Model從 NSObject 繼承(因?yàn)樗皇腔?KVC 機(jī)制)辉词,也不要求你為 Model 定義一個(gè) Mapping 函數(shù)必孤。只要你定義好 Model 類(lèi),聲明它服從 HandyJSON 協(xié)議瑞躺,HandyJSON 就能自行以各個(gè)屬性的屬性名為Key敷搪,從JSON串中解析值。

十三幢哨、云上資源和應(yīng)用部署工具 EDAS Serverless


EDAS Serverless 一款基于 Kubernetes赡勘,面向應(yīng)用和微服務(wù)的 Serverless 平臺(tái)。用戶無(wú)需管理和維護(hù)集群與服務(wù)器捞镰,即可通過(guò)鏡像闸与、WAR 包和JAR 包,快速創(chuàng)建原生支持 Kubernetes 的容器應(yīng)用岸售,同時(shí)支持 Spring Cloud 和 Dubbo 等主流微服務(wù)框架践樱。

十四、數(shù)據(jù)庫(kù)連接池 Druid


Druid 是 Java 語(yǔ)言下的數(shù)據(jù)庫(kù)連接池凸丸,它能夠提供強(qiáng)大的監(jiān)控和擴(kuò)展功能拷邢。

十五、Java 工具集 Dragonwell


Alibaba Dragonwell 是阿里巴巴內(nèi)部OpenJDK定制版AJDK的開(kāi)源版本屎慢, AJDK為在線電商瞭稼,金融忽洛,物流做了結(jié)合業(yè)務(wù)場(chǎng)景的優(yōu)化,運(yùn)行在超大規(guī)模的环肘,100,000+ 服務(wù)器的阿里巴巴數(shù)據(jù)中心脐瑰。Alibaba Dragonwell與Java SE標(biāo)準(zhǔn)兼容,目前僅支持 Linux/x86_64平臺(tái)廷臼。

讀者福利


這邊給大家收集了一些關(guān)于Java架構(gòu)的視頻和PDF的學(xué)習(xí)資料,希望能夠幫助到大家绝页,同時(shí)也省的大家再去網(wǎng)上找資料荠商。

怎么領(lǐng)取续誉?這邊的機(jī)制肯定是沒(méi)法發(fā)出來(lái)的呀莱没,大家可以進(jìn)君羊:963944895,私聊管理員即可免費(fèi)領(lǐng)取喲

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末酷鸦,一起剝皮案震驚了整個(gè)濱河市饰躲,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌臼隔,老刑警劉巖嘹裂,帶你破解...
    沈念sama閱讀 222,000評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異摔握,居然都是意外死亡寄狼,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,745評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén)氨淌,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)泊愧,“玉大人,你說(shuō)我怎么就攤上這事盛正∩驹郏” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 168,561評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵豪筝,是天一觀的道長(zhǎng)痰滋。 經(jīng)常有香客問(wèn)我,道長(zhǎng)续崖,這世上最難降的妖魔是什么即寡? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,782評(píng)論 1 298
  • 正文 為了忘掉前任,我火速辦了婚禮袜刷,結(jié)果婚禮上聪富,老公的妹妹穿的比我還像新娘。我一直安慰自己著蟹,他們只是感情好墩蔓,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,798評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布梢莽。 她就那樣靜靜地躺著,像睡著了一般奸披。 火紅的嫁衣襯著肌膚如雪昏名。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 52,394評(píng)論 1 310
  • 那天阵面,我揣著相機(jī)與錄音轻局,去河邊找鬼。 笑死样刷,一個(gè)胖子當(dāng)著我的面吹牛仑扑,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播置鼻,決...
    沈念sama閱讀 40,952評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼镇饮,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了箕母?” 一聲冷哼從身側(cè)響起储藐,我...
    開(kāi)封第一講書(shū)人閱讀 39,852評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎嘶是,沒(méi)想到半個(gè)月后钙勃,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,409評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡聂喇,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,483評(píng)論 3 341
  • 正文 我和宋清朗相戀三年肺缕,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片授帕。...
    茶點(diǎn)故事閱讀 40,615評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡同木,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出跛十,到底是詐尸還是另有隱情彤路,我是刑警寧澤,帶...
    沈念sama閱讀 36,303評(píng)論 5 350
  • 正文 年R本政府宣布芥映,位于F島的核電站洲尊,受9級(jí)特大地震影響正歼,放射性物質(zhì)發(fā)生泄漏蜗顽。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,979評(píng)論 3 334
  • 文/蒙蒙 一本股、第九天 我趴在偏房一處隱蔽的房頂上張望惊来。 院中可真熱鬧丽涩,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,470評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至矮男,卻和暖如春移必,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背毡鉴。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,571評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工崔泵, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人猪瞬。 一個(gè)月前我還...
    沈念sama閱讀 49,041評(píng)論 3 377
  • 正文 我出身青樓憎瘸,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親撑螺。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,630評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容