日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

工商银行打造在线诊断平台的探索与实践

發(fā)布時(shí)間:2025/3/20 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 工商银行打造在线诊断平台的探索与实践 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

作者 | 劉慕雨 中國(guó)工商銀行軟件開(kāi)發(fā)中心云計(jì)算實(shí)驗(yàn)室

在信息系統(tǒng)建設(shè)方面,工商銀行一直積極探索,以開(kāi)放的姿態(tài)借鑒行業(yè)先進(jìn)經(jīng)驗(yàn),旨在為客戶提供更優(yōu)質(zhì)的金融服務(wù)和用戶體驗(yàn)。隨著分布式架構(gòu)和云計(jì)算平臺(tái)在工行的廣泛應(yīng)用,如何高效排查程序錯(cuò)誤或性能瓶頸,是個(gè)棘手的問(wèn)題。

為此,我們基于 Arthas 建設(shè)了在線診斷平臺(tái),在保護(hù)客戶信息安全的原則基礎(chǔ)上,對(duì)相關(guān)能力做了剪裁和整合,通過(guò) Web 方式支持更復(fù)雜的交互場(chǎng)景,在實(shí)際線上問(wèn)題分析中發(fā)揮關(guān)鍵作用。

工行在線診斷平臺(tái):

下面對(duì)工行在線診斷平臺(tái)的建設(shè)做個(gè)階段性總結(jié),分享一下我們的建設(shè)經(jīng)驗(yàn)、實(shí)際效果以及未來(lái)展望,也希望能給社區(qū)提供一個(gè)參考。

傳統(tǒng)方式排查問(wèn)題的痛點(diǎn)

對(duì)于后端工程師,一旦線上程序邏輯出錯(cuò),問(wèn)題排查如同破案,在分析研判時(shí),問(wèn)題現(xiàn)場(chǎng)的第一手信息是最珍貴的。開(kāi)發(fā)人員很容易首先想到的就是閱讀日志,從海量的日志中尋找蛛絲馬跡,這就好比是對(duì)犯罪現(xiàn)場(chǎng)周邊的視頻監(jiān)控錄像逐一回看,非常辛苦。如果問(wèn)題現(xiàn)場(chǎng)的日志記錄缺失,就嘗試在本地重現(xiàn)問(wèn)題并調(diào)試解決,本地難以重現(xiàn)的,只能再加日志,再部署,再重現(xiàn),然后再查日志,效率較低。對(duì)于復(fù)雜一些的比如程序性能問(wèn)題,如何定位性能瓶頸,一不小心又要回到加日志、部署、查日志、再加日志的老路,不僅效率不高,也破壞了問(wèn)題現(xiàn)場(chǎng)。

JDK 提供的工具如 jps、jmap、jstat、jstack、jconsole 等,可以為工程師提供一些幫助。Linux 操作系統(tǒng)的命令,如 top、free、pidstat、vmstat、iostat 等,也是排查問(wèn)題尤其是性能調(diào)優(yōu)必不可少的工具。但直接使用這些工具,對(duì)工程師的個(gè)人技術(shù)能力和經(jīng)驗(yàn)要求較高。而且對(duì)企業(yè)來(lái)說(shuō),在生產(chǎn)環(huán)境直接通過(guò)命令行操作,是很敏感的行為。因此,如何在保證安全的基礎(chǔ)上,又能像調(diào)試本地程序一樣更便捷的排查分析,是個(gè)棘手的問(wèn)題。

Arthas?的解決方案

2018 年我們?cè)趨⒓右淮?Dubbo Meetup 上,聽(tīng)了關(guān)于使用開(kāi)源的 Arthas 工具排查 Dubbo 問(wèn)題的分享。研究發(fā)現(xiàn),Arthas 通過(guò) JVM 的 Attach 機(jī)制,在不影響服務(wù)連續(xù)性的情況下,實(shí)時(shí)連接到目標(biāo)進(jìn)程,便于工程師在線排查問(wèn)題。此外,Arthas 的字節(jié)碼增強(qiáng)框架,可以通過(guò) Instrumentation 技術(shù)動(dòng)態(tài)修改字節(jié)碼(需要 Java 虛擬機(jī)實(shí)現(xiàn)支持 retransformClasses),替換成新的 class,這就為在線調(diào)試提供了可能。

Arthas 原理圖:

比如,使用 watch 命令,實(shí)時(shí)觀測(cè)方法的調(diào)用情況;使用 jad 命令,把字節(jié)碼反編輯成 java 代碼;使用 redefine 命令,可以對(duì)代碼做熱更新,讓開(kāi)發(fā)人員告別不停“加日志、部署、查日志、再加日志”的套娃時(shí)代。在 Arthas 剛推出沒(méi)多久,還提供了一個(gè)簡(jiǎn)單的 Web Console 功能,實(shí)際是一個(gè)以 Websocket 訪問(wèn) Arthas 進(jìn)程的方式,這也為我們后面建設(shè)在線診斷平臺(tái)提供了思路。

落地使用上的困難

直接使用 Arthas 的命令行交互方式,不能滿足金融級(jí)運(yùn)維要求,在落地使用上存在一些實(shí)際的問(wèn)題:

  • 信息安全問(wèn)題:Arthas 可以通過(guò)命令行方式,直接觀測(cè)方法的入?yún)ⅰ⒎祷刂?#xff0c;這就涉及到一些客戶敏感信息,直接在生產(chǎn)環(huán)境使用命令行操作顯然是不合適的。

  • 學(xué)習(xí)成本問(wèn)題:工具的安裝使用存在一定的學(xué)習(xí)成本,尤其是對(duì)于新員工來(lái)說(shuō)。

  • 多人協(xié)作問(wèn)題:當(dāng)多個(gè)開(kāi)發(fā)者對(duì)同一個(gè)目標(biāo)進(jìn)程進(jìn)行診斷時(shí),可能存在沖突,例如,一個(gè)同學(xué)正在 watch 某個(gè)方法,另一個(gè)同學(xué)把這個(gè)方法 redefine 了,那么第一個(gè)同學(xué) watch 到的其實(shí)是別人替換后的代碼的運(yùn)行情況,這就像一個(gè)多線程訪問(wèn)共享資源的線程安全問(wèn)題。再比如兩個(gè)同學(xué)都在 attach 同一個(gè)進(jìn)程,一個(gè)同學(xué)用完了,直接把 Arthas 進(jìn)程 shutdown(關(guān)閉),而另一個(gè)還在使用的同學(xué)就突然不能用了。

  • 資源占用問(wèn)題:如果開(kāi)發(fā)者忘記關(guān)閉 Arthas,Arthas 進(jìn)程會(huì)占用一定的系統(tǒng)資源(如內(nèi)存、CPU)。當(dāng)然,Arthas 本身對(duì)資源開(kāi)銷是有很多考慮的,比如 Arthas 使用自定義的類加載器加載自身的類,在關(guān)閉時(shí)將引用置空,這樣在下一次垃圾回收的時(shí)候,自定義類加載器加載的類就會(huì)被回收,從而避免對(duì)原有工程的影響。因此,我們認(rèn)為 Arthas 應(yīng)該在排查問(wèn)題時(shí)使用,而不應(yīng)該當(dāng)作常規(guī)監(jiān)控工具一直運(yùn)行。

  • 環(huán)境不統(tǒng)一問(wèn)題:在不同的 Java 虛擬機(jī)實(shí)現(xiàn)安裝和使用 Arthas,可能會(huì)碰到一些奇怪的問(wèn)題,比如用 Hotspot 虛擬機(jī)運(yùn)行 Arthas 進(jìn)程,而目標(biāo)虛擬機(jī)是 J9 實(shí)現(xiàn),attach 的時(shí)候可能會(huì)出錯(cuò)。另一方面,生產(chǎn)環(huán)境云上、云下節(jié)點(diǎn)規(guī)模龐大,網(wǎng)絡(luò)訪問(wèn)權(quán)限是嚴(yán)格控制的,開(kāi)發(fā)人員想遠(yuǎn)程連接目標(biāo)進(jìn)程,涉及到權(quán)限開(kāi)通、版本管理、安裝程序下發(fā)等問(wèn)題。

技術(shù)方案

我們?cè)O(shè)計(jì)了一套輕巧的架構(gòu),讓開(kāi)發(fā)人員以 Web UI 的方式,便捷、直觀的使用各類在線診斷能力。那么我們是怎么做的呢?

1. 整體架構(gòu)

整體架構(gòu)大致分成在線診斷平臺(tái)、在線診斷網(wǎng)關(guān)(后簡(jiǎn)稱網(wǎng)關(guān))、在線診斷進(jìn)程三部分,通過(guò)一個(gè)網(wǎng)關(guān)集群統(tǒng)一代理對(duì)云上、云下節(jié)點(diǎn)的訪問(wèn),網(wǎng)關(guān)提供 Restful 接口給在線診斷平臺(tái)(后簡(jiǎn)稱平臺(tái))調(diào)用。一個(gè)接口可能組合了多個(gè) Arthas 指令,也可能對(duì)指令的執(zhí)行結(jié)果進(jìn)行剪裁和修改,處理成 json 格式數(shù)據(jù)返回給平臺(tái)做展示。

整體架構(gòu)圖:

1)在線診斷平臺(tái)

在線診斷平臺(tái)是開(kāi)發(fā)人員進(jìn)行在線診斷的入口,平臺(tái)通過(guò) Web UI 的方式提供一站式在線診斷能力,支持復(fù)雜的交互場(chǎng)景。除了提供出色的用戶體驗(yàn),平臺(tái)還解決了安裝卸載、多人協(xié)作、用戶鑒權(quán)、連接保持、操作審計(jì)等問(wèn)題。

  • 安裝卸載:根據(jù)用戶在平臺(tái)輸入目標(biāo)節(jié)點(diǎn)和進(jìn)程信息,實(shí)現(xiàn)診斷程序的安裝和卸載,具體將在下一節(jié)介紹。

  • 多人協(xié)作:當(dāng)多個(gè)用戶同時(shí)診斷同一個(gè)進(jìn)程時(shí),對(duì)于存在沖突的功能,平臺(tái)通過(guò)分布式鎖實(shí)現(xiàn)互斥,保障同一時(shí)刻只有一個(gè)用戶能使用,當(dāng)然這么做的前提是平臺(tái)在功能設(shè)計(jì)時(shí)考慮原子性。另外,當(dāng)一個(gè)用戶試圖關(guān)閉一個(gè)其他用戶正在使用的連接時(shí),也會(huì)被拒絕。

  • 用戶鑒權(quán):建立審批和黑白名單機(jī)制,基于 RBAC 模型,同時(shí)聯(lián)動(dòng) CMDB,對(duì)操作人員的權(quán)限進(jìn)行嚴(yán)格管控,普通開(kāi)發(fā)者需要被授權(quán)才可使用,各類診斷功能的使用權(quán)限也和用戶角色掛鉤,權(quán)限控制強(qiáng)度從生產(chǎn)環(huán)境到開(kāi)發(fā)環(huán)境逐漸減弱。

  • 連接保持:Arthas 一些命令比如 dashboard,提供了實(shí)時(shí)監(jiān)控目標(biāo)進(jìn)程整體運(yùn)行情況的功能,默認(rèn)每 5 秒刷新一次。對(duì)于這樣的功能,平臺(tái)的前端通過(guò) websocket 與后端保持連接,后端內(nèi)存中維護(hù)了一個(gè)目標(biāo)對(duì)象和已連接用戶的對(duì)照關(guān)系,如果多個(gè)用戶同時(shí)監(jiān)控某個(gè)目標(biāo)對(duì)象,后端每次只會(huì)定時(shí)發(fā)送一次請(qǐng)求給網(wǎng)關(guān)。這么做的好處,是在保證了實(shí)時(shí)監(jiān)控的同時(shí),節(jié)約連接資源,避免了多人訪問(wèn)時(shí),到目標(biāo)服務(wù)器的不必要的重復(fù)連接。此外,為了防止用戶忘記卸載診斷進(jìn)程,對(duì)照關(guān)系也會(huì)同步到配置中心,當(dāng)內(nèi)存中某個(gè)目標(biāo)對(duì)象對(duì)應(yīng)的用戶全部下線時(shí),會(huì)觸發(fā)一次檢查,如果發(fā)現(xiàn)配置中心中的用戶也已經(jīng)全部下線,平臺(tái)會(huì)自動(dòng)發(fā)送 shutdown 請(qǐng)求給網(wǎng)關(guān),卸載診斷進(jìn)程。

  • 操作審計(jì):通過(guò)切面的方式,對(duì)用戶的各類操作進(jìn)行記錄和存儲(chǔ),達(dá)到審計(jì)的目的。

2)在線診斷網(wǎng)關(guān)

網(wǎng)關(guān)的作用,一是統(tǒng)一打通了到行內(nèi)云上、云下環(huán)境的火墻;二是由于我們當(dāng)時(shí)使用的 Arthas 版本還不支持 Restful 接口(最新版本已支持),返回報(bào)文都是文本的形式,網(wǎng)關(guān)側(cè)在這里會(huì)對(duì)文本進(jìn)行解析,處理成 json 格式的結(jié)構(gòu)數(shù)據(jù),方便平臺(tái)側(cè)做展示。歸納起來(lái),網(wǎng)關(guān)的主要目的是統(tǒng)一代理對(duì)目標(biāo)節(jié)點(diǎn)的訪問(wèn),同時(shí)封裝診斷能力,提供標(biāo)準(zhǔn) json 結(jié)構(gòu)數(shù)據(jù)的 Restful 接口給行內(nèi)各平臺(tái)訪問(wèn)。網(wǎng)關(guān)在封裝診斷能力時(shí),還會(huì)進(jìn)行參數(shù)校驗(yàn)、超時(shí)管理、數(shù)據(jù)脫敏、文本處理等工作。

  • 參數(shù)校驗(yàn):網(wǎng)關(guān)需要對(duì)診斷命令的參數(shù)做合法性校驗(yàn),比如tt命令要控制最大觀測(cè)次數(shù)防止撐爆內(nèi)存,保證使用安全。

  • 超時(shí)管理:一些監(jiān)聽(tīng)類的命令,比如watch命令,如果一直監(jiān)聽(tīng)不到調(diào)用,需要設(shè)置超時(shí)時(shí)間,防止連接一直不被釋放。

  • 數(shù)據(jù)脫敏:對(duì)于涉及客戶敏感信息的命令,網(wǎng)關(guān)會(huì)做數(shù)據(jù)脫敏,保障客戶信息安全,部分關(guān)鍵業(yè)務(wù)的敏感數(shù)據(jù),網(wǎng)關(guān)側(cè)會(huì)做封閉禁止訪問(wèn)。

  • 文本處理:網(wǎng)關(guān)向 Arthas 進(jìn)程發(fā)送指令后,收到的報(bào)文是文本形式,為了便于平臺(tái)側(cè)展示,網(wǎng)關(guān)將非結(jié)構(gòu)數(shù)據(jù)處理成結(jié)構(gòu)數(shù)據(jù),并對(duì)文本中的一些非關(guān)鍵數(shù)據(jù)進(jìn)行剪裁。這里要注意因?yàn)?telnet 有個(gè)窗口大小的配置要適當(dāng)調(diào)整,配置太小的話有可能導(dǎo)致文本不全。

3)在線診斷進(jìn)程

也就是 Arthas 進(jìn)程,需要考慮安裝、啟停、版本管理、網(wǎng)絡(luò)隔離等問(wèn)題,具體做法在下一節(jié)詳細(xì)介紹。

2. 診斷過(guò)程詳解

工程師第一次對(duì)目標(biāo)服務(wù)器進(jìn)行診斷時(shí),涉及安裝、啟動(dòng)、使用、卸載等一系列步驟,如下圖所示:

1)診斷前準(zhǔn)備

下圖是我們的安裝界面,當(dāng)用戶授權(quán)通過(guò)后,即可填寫(xiě)目標(biāo)服務(wù)器信息開(kāi)始安裝。如果是傳統(tǒng)虛擬機(jī)時(shí),用戶需輸入虛擬機(jī) ip 和目標(biāo)進(jìn)程關(guān)鍵字(如進(jìn)程的 pid、進(jìn)程的啟動(dòng)類名、進(jìn)程的 jar 名稱等);如果是容器,還需提供容易 id:

2)開(kāi)始安裝

用戶點(diǎn)擊安裝后,會(huì)觸發(fā)一系列操作。首先在線診斷平臺(tái)發(fā)送一個(gè)探活請(qǐng)求給網(wǎng)關(guān),網(wǎng)關(guān)收到請(qǐng)求后相應(yīng)的也發(fā)送一個(gè)空指令給目標(biāo)節(jié)點(diǎn)。平臺(tái)根據(jù)響應(yīng)判斷,如果探活成功,則發(fā)送診斷請(qǐng)求開(kāi)始診斷;否則發(fā)送安裝請(qǐng)求到行內(nèi)指定的管理系統(tǒng)(傳統(tǒng)虛擬機(jī)/容器,后續(xù)簡(jiǎn)稱通道)。

3)獲取安裝介質(zhì)

以傳統(tǒng)虛擬機(jī)為例(如果是容器則把安裝介質(zhì)下發(fā)到宿主機(jī)),通道去目標(biāo)服務(wù)器指定目錄查找診斷程序的版本文件,如果獲取成功且版本是最新的,則通道直接執(zhí)行啟動(dòng)腳本。否則,通道會(huì)通知目標(biāo)服務(wù)器從公共的文件服務(wù)器上,下載最新版本的安裝介質(zhì)。

4)啟動(dòng)診斷程序

安裝介質(zhì)實(shí)際是一個(gè)壓縮包,包括安裝腳本、jar、版本文件等。安裝介質(zhì)首次下載到目標(biāo)服務(wù)器后,通道對(duì)其解壓并執(zhí)行啟動(dòng)腳本。我們修改了 Arthas 的啟動(dòng)腳本,根據(jù)用戶輸入的進(jìn)程關(guān)鍵字,找到目標(biāo)進(jìn)程,然后使用和目標(biāo)進(jìn)程相同的 jdk 版本,啟動(dòng)診斷程序。注意,啟動(dòng)時(shí) Arthas 的 target-ip 參數(shù)被設(shè)置為網(wǎng)關(guān)地址,以隔離其他渠道訪問(wèn),默認(rèn)值 127.0.0.1 表示只能本地訪問(wèn)。

5)使用和卸載

診斷進(jìn)程接收用戶診斷指令,開(kāi)始診斷。使用完用戶可手工點(diǎn)擊卸載,銷毀診斷進(jìn)程。

實(shí)際使用效果

這里舉幾個(gè)例子,看一下平臺(tái)的實(shí)際使用效果。

1. 控制面板

基于 dashboard 命令,控制面板實(shí)時(shí)展示目標(biāo)進(jìn)程的整體運(yùn)行情況,包括線程、jvm、操作系統(tǒng)等,每隔 10s 刷新一次,用戶也可選擇手動(dòng)刷新。線程按 CPU 使用率取 TOP10,jvm 主要展示內(nèi)存分布和 GC 情況:

點(diǎn)擊查詢更多可以查看詳情,比如監(jiān)控 jvm 的內(nèi)存及垃圾回收情況:

2. 線程清單

線程清單頁(yè)面按 CPU 使用率分頁(yè)展示所有線程,支持按線程狀態(tài)(如 RUNNABLE、BLOCKED)過(guò)濾,在控制面板頁(yè)面點(diǎn)擊查看更多,也可以直接跳到此頁(yè)面:

點(diǎn)擊某條記錄,跳轉(zhuǎn)到線程詳情,展示線程堆棧,在堆棧中選中一個(gè)方法,則可以直接進(jìn)行方法觀測(cè)、方法追蹤、方法追溯、方法監(jiān)控、反編譯等操作:

3. 方法監(jiān)測(cè)

方法監(jiān)測(cè)指的是對(duì)方法運(yùn)行情況的監(jiān)控和觀測(cè),具體包括下面幾個(gè)功能。

1)方法觀測(cè)

支持對(duì)選中的堆棧中的方法進(jìn)行觀測(cè),也就是 watch 命令,這里以開(kāi)發(fā)環(huán)境舉例(開(kāi)發(fā)環(huán)境不做數(shù)據(jù)脫敏),可以實(shí)時(shí)捕獲方法的輸入、輸出、異常堆棧、執(zhí)行耗時(shí)等,并且支持指定觀測(cè)次數(shù)、耗時(shí)限制等條件。比如我這里對(duì) UserServiceImpl 類的 findUser 方法的調(diào)用情況進(jìn)行觀測(cè):

當(dāng)方法拋異常時(shí)展示堆棧:

2)方法追蹤

方法追蹤指的是追蹤方法的調(diào)用棧,打印每個(gè)方法的執(zhí)行耗時(shí),基于 trace 命令實(shí)現(xiàn),在排查性能問(wèn)題時(shí)非常有用。看一下方法追蹤的界面,直接高亮標(biāo)記出調(diào)用棧上耗時(shí)最久的方法,也支持配置過(guò)濾規(guī)則,過(guò)濾一些不關(guān)心的方法(比如 java 底層代碼)。在這個(gè)方法調(diào)用棧界面,又可以選中其中某個(gè)方法,進(jìn)行觀測(cè)、追溯、監(jiān)控等操作,不同的診斷能力之間都是打通的:

3)方法追溯

有時(shí)需要追溯方法被誰(shuí)調(diào)用了,則可以使用方法追溯。比如這里通過(guò)方法追溯可以看到 Dubbo 的 Filter 處理鏈:

4)方法監(jiān)控

有時(shí)我們需要對(duì)某個(gè)方法一段時(shí)間的執(zhí)行情況進(jìn)行觀測(cè),這時(shí)可以使用方法監(jiān)控功能。比如這里每隔 10 秒統(tǒng)計(jì)一次方法的執(zhí)行次數(shù)、成功失敗次數(shù)、平均耗時(shí)、失敗率等指標(biāo):

4. 反編譯

當(dāng)我們需要確認(rèn) Java 虛擬機(jī)加載的代碼情況時(shí),比如你修改的代碼是否生效,我們?cè)诒镜亟?jīng)常使用一些反編譯工具以達(dá)目的。jad 命令提供了在線反編譯能力,我們基于 jad 以界面的形式展示 Java 虛擬機(jī)加載的實(shí)際代碼,同時(shí)也會(huì)展示類加載器樹(shù)、類的路徑。比如這里對(duì) findUser 方法的反編譯情況(不指定方法名的話,則對(duì)整個(gè)類反編譯),可以看到這個(gè)類屬于 springboot 項(xiàng)目,被 spring 的類加載器加載:

5. 其他能力

我們對(duì)其他的實(shí)用命令,也做了一些封裝和定制,比如 sc、sm、redefine、tt 等,這里就不一一介紹。此外,我們也將實(shí)時(shí)診斷能力和內(nèi)部監(jiān)控運(yùn)維系統(tǒng)相整合,在排查問(wèn)題時(shí),可以通過(guò)直接跳轉(zhuǎn)的方式申請(qǐng)?jiān)诰€診斷權(quán)限,對(duì)目標(biāo)進(jìn)程做實(shí)時(shí)診斷。下圖是行內(nèi)全鏈路跟蹤產(chǎn)品截圖,支持直接對(duì)問(wèn)題鏈路關(guān)聯(lián)的節(jié)點(diǎn)進(jìn)行診斷:

回顧與展望

簡(jiǎn)要回顧一下前面提到的幾個(gè)困難和我們的解決方案:

  • 學(xué)習(xí)成本問(wèn)題:我們通過(guò) Web UI 的方式降低學(xué)習(xí)成本,也提供了更復(fù)雜的交互場(chǎng)景和出色的用戶體驗(yàn)。通過(guò)網(wǎng)關(guān)統(tǒng)一提供 Resful 接口提供結(jié)構(gòu)數(shù)據(jù),也更便于集成到企業(yè)內(nèi)部其他運(yùn)維平臺(tái)。

  • 多人協(xié)作問(wèn)題:通過(guò)會(huì)話管理、互斥訪問(wèn)、自動(dòng)卸載等手段,解決多人協(xié)作問(wèn)題。

  • 信息安全問(wèn)題:通過(guò)用戶鑒權(quán)、數(shù)據(jù)脫敏、操作審計(jì)、網(wǎng)絡(luò)隔離等手段,解決信息安全問(wèn)題。

  • 資源占用問(wèn)題:通過(guò)自動(dòng)卸載、減少連接、自定義類加載器(Arthas自帶)等手段,在充分性能測(cè)試基礎(chǔ)上,保障資源占用可控。

  • 環(huán)境不統(tǒng)一問(wèn)題:通過(guò)搭建網(wǎng)關(guān)集群,統(tǒng)一代理對(duì)云上、云下環(huán)境的訪問(wèn)。采用一致的策略,統(tǒng)一管理云上、云下環(huán)境介質(zhì)的版本、下發(fā)和安裝。

當(dāng)前,工行在線診斷平臺(tái)已在實(shí)際線上問(wèn)題分析中持續(xù)發(fā)揮關(guān)鍵作用,Arthas 也越來(lái)越得到社區(qū)的關(guān)注和開(kāi)發(fā)者的認(rèn)可。Arthas 官方在新版本中已經(jīng)支持了 Restful 接口,提供結(jié)構(gòu)數(shù)據(jù),也支持了更豐富的診斷命令,這跟我們的建設(shè)思路不謀而合。未來(lái),我們將繼續(xù)積極參與社區(qū)建設(shè),將工行的實(shí)踐經(jīng)驗(yàn)分享給大家。

Arthas 有獎(jiǎng)?wù)魑恼谶M(jìn)行中!

為了讓更多開(kāi)發(fā)者開(kāi)始用上 Arthas 這個(gè) Java 診斷神器,今年 3 月 26 日,Arthas 社區(qū)聯(lián)合 JetBrains 推出?Arthas 有獎(jiǎng)?wù)魑幕顒?dòng):**聊聊這些年你和 Arthas 之間的那些事兒。**活動(dòng)已進(jìn)行至第五期,點(diǎn)擊鏈接即可參與:http://alibabacloud.mikecrm.com/9khcRrs,歡迎大家踴躍投稿,參與即有可能獲獎(jiǎng)!

“阿里巴巴云原生關(guān)注微服務(wù)、Serverless、容器、Service Mesh 等技術(shù)領(lǐng)域、聚焦云原生流行技術(shù)趨勢(shì)、云原生大規(guī)模的落地實(shí)踐,做最懂云原生開(kāi)發(fā)者的公眾號(hào)。”

總結(jié)

以上是生活随笔為你收集整理的工商银行打造在线诊断平台的探索与实践的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。