基礎(chǔ)架構(gòu) 劉星辰如何優(yōu)雅的落地中間件-GITC-基礎(chǔ)架構(gòu)專(zhuān)場(chǎng)_第1頁(yè)
基礎(chǔ)架構(gòu) 劉星辰如何優(yōu)雅的落地中間件-GITC-基礎(chǔ)架構(gòu)專(zhuān)場(chǎng)_第2頁(yè)
基礎(chǔ)架構(gòu) 劉星辰如何優(yōu)雅的落地中間件-GITC-基礎(chǔ)架構(gòu)專(zhuān)場(chǎng)_第3頁(yè)
基礎(chǔ)架構(gòu) 劉星辰如何優(yōu)雅的落地中間件-GITC-基礎(chǔ)架構(gòu)專(zhuān)場(chǎng)_第4頁(yè)
基礎(chǔ)架構(gòu) 劉星辰如何優(yōu)雅的落地中間件-GITC-基礎(chǔ)架構(gòu)專(zhuān)場(chǎng)_第5頁(yè)
已閱讀5頁(yè),還剩20頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

如何優(yōu)雅的落地中間件找鋼網(wǎng)劉星辰如何優(yōu)雅的落地中間件CONTENTS全球互聯(lián)網(wǎng)技術(shù)大會(huì)jqlObaljnternet/echnologyconference—?■中間件是技術(shù)架構(gòu)向上支撐的一塊基石。雖然從宏觀架構(gòu)看,幾乎找不到中間件的位置,但實(shí)際架構(gòu)實(shí)現(xiàn)的過(guò)程中幾乎都離不開(kāi)中間件的支撐。因?yàn)橹虚g件是正是某一類(lèi)問(wèn)題的通用技術(shù)解決方案>1.1理想中落地的樣子軍令如山>兩天完成接入>—周全部發(fā)布—切掌握之中>線上運(yùn)行平穩(wěn)>老板喜笑斷專(zhuān)心寫(xiě)寫(xiě)代碼>準(zhǔn)備下次升級(jí)>構(gòu)思美好藍(lán)圖弱勢(shì)架構(gòu)>1.2|可傷心總是難免的研發(fā)大佬刷臉求接入::史Ifm二三二三XI:虧了m.

打臉發(fā)布后大哥喝奶對(duì)方不想你和說(shuō)話并向你拋出了一個(gè)異常大哥給個(gè)機(jī)會(huì)>1.3業(yè)務(wù)上了高速路蠻荒時(shí)期業(yè)務(wù)剛起步,作坊式開(kāi)發(fā)?20+團(tuán)隊(duì)-15-20應(yīng)用-20-30節(jié)點(diǎn)高歌猛進(jìn)業(yè)務(wù)與團(tuán)隊(duì)持續(xù)爆發(fā)增長(zhǎng)?200+團(tuán)隊(duì)?300+應(yīng)用-600+節(jié)點(diǎn)拓疆?dāng)U土業(yè)務(wù)穩(wěn)定,進(jìn)軍新領(lǐng)域-?團(tuán)隊(duì).?應(yīng)用??節(jié)點(diǎn)開(kāi)天辟地業(yè)務(wù)爆發(fā),團(tuán)隊(duì)迅速擴(kuò)大?80+團(tuán)隊(duì)?30-50應(yīng)用-60-80節(jié)點(diǎn)持續(xù)發(fā)展異地研發(fā)部增多?300+團(tuán)隊(duì)?500+應(yīng)用-1500+節(jié)點(diǎn)>1.4|可高速不給換輪胎1,爸爸是技術(shù)負(fù)責(zé)人或老板e(cuò)2組織上以行政命令的方式推進(jìn)e3微服務(wù)——部署各種〃服務(wù)"到機(jī)器上e全球互聯(lián)網(wǎng)技術(shù)大會(huì)GLOBALINTERNETTECHNOLOGYCONFERENCE>1.5想想我們的架構(gòu)藍(lán)圖藍(lán)不藍(lán),難不難你說(shuō)如果無(wú)法落地,架構(gòu)什么都是扯的?,F(xiàn)有的流程都是依賴(lài)著應(yīng)用的發(fā)布來(lái)完成架構(gòu)落地,可是他們晃點(diǎn)我,我也很絕望啊~.>2.0尋找領(lǐng)域內(nèi)的潛在問(wèn)題每個(gè)應(yīng)用的發(fā)布時(shí)間完全不可控少則兩周,多達(dá)一月,也有穩(wěn)定無(wú)發(fā)布的溝通困難,而且溝通層次深從經(jīng)理->組長(zhǎng)->開(kāi)發(fā),甚至還有測(cè)試關(guān)注運(yùn)行情況、收集運(yùn)行數(shù)據(jù)依據(jù)數(shù)據(jù)繼續(xù)迭代改進(jìn)無(wú)感升級(jí)自動(dòng)化部署,動(dòng)態(tài)加載鋪路爪Pavepaws?三方依賴(lài)隔離多版本依賴(lài)共存無(wú)沖突運(yùn)行時(shí)可控隨時(shí)升降級(jí),BUG熱修復(fù)>2.1鋪路爪核心組件ClassTransformerJavaRuntimeClassLoaderShadowLoaderInstrumentation利用Java本身的一些特性來(lái)完成類(lèi)的替換,監(jiān)聽(tīng)類(lèi)加載的必經(jīng)之路字節(jié)碼轉(zhuǎn)換器用于在類(lèi)在被實(shí)際Runtime解析前對(duì)字段,方法等進(jìn)行編輯修改影子加載器掛鉤ClassLoader通過(guò)攔截loadClass等方法實(shí)現(xiàn)自由的類(lèi)加載邏輯全球互聯(lián)網(wǎng)技術(shù)大會(huì)GLOBALJf^TERNETTECHNOLOGYCONFERENCE>2.2后庭別院菊花香RPC2.0jar偷梁不換柱,移花能接木攔截并修改目標(biāo)ClassLoader?由ShadowLoader接管加載的工作.實(shí)現(xiàn)自己的資源査找邏輯ClassFileTransformerJavaRuntimeformSomejarSomejardefineClassShadowLoaderClassLoaderHOOK2.3RPC2.0jarRPCLOjar>2.4遵守基本的設(shè)計(jì)原則I'mInterface!實(shí)現(xiàn)的還可以是不是>2.5I運(yùn)行時(shí)為實(shí)現(xiàn)獨(dú)立容器加載ClassEditoreditor=newAsmClassEditor(bytecodes);建對(duì)應(yīng)的實(shí)例返回。偽代碼returnnemLog4jAdapter(name);publicstaticLoggercreate(5tringname){returncontainer.sir?gte("cloud.apggoTegaws.impI.logger.Log4jAdapter",name);static{tsLogCLiEntPresent=ClassUtils.isPreser?t(-))scanAndReplacelnit在類(lèi)加載時(shí)檢查類(lèi)是否有依賴(lài)的服務(wù),將原具體實(shí)現(xiàn)類(lèi)的構(gòu)建轉(zhuǎn)給負(fù)責(zé)〃隔離〃的容器。容器會(huì)在單獨(dú)的ClassLoader中加載,之后創(chuàng)publicstaticLoggercreate(5tringname){if(IsLogCLientPresent){Loggerinstance=neuGangLogAdapter(name);instance.init();returninstance;:jjaliczlassLogFactory{privatestaticfinalbooleanisLcgCtientPresent;Isolationcontainer=Isolation;if(i5LogCLientPreEent){Loggerinstance=container.sir?gLe(:!□_id..pi-epaki..loiter.GaniLo^^dap^er",name);.....instance.init();returninstance;IsolationTransformer.classbyte[]transform(Stringclassname,..vbyte[]bytecodes)(for(methodineditor.Methods)(scanAndReplacelnit(method);全球互聯(lián)網(wǎng)技術(shù)大會(huì)GLOBALINTERNETTECHNOLOGYCONFERENCE全球互聯(lián)網(wǎng)技術(shù)大會(huì)MiInjqlObaljnternet/echnologyconference—?■>2.7I進(jìn)程內(nèi)的微服務(wù)APPServiceInterfaceServiceInterface應(yīng)用自身服務(wù)接口應(yīng)用只關(guān)心和使用接口,不關(guān)心背后實(shí)現(xiàn)ServiceImplServiceImplServiceImplServiceImpl服務(wù)實(shí)現(xiàn)實(shí)現(xiàn)可以有多個(gè),單例,在需要時(shí)可以切換實(shí)現(xiàn)全球互聯(lián)網(wǎng)技術(shù)大會(huì)州HijqlObaljnternet/echnologyconference—?■>2.8I沒(méi)啥亮點(diǎn)的前后端整體結(jié)構(gòu)非常簡(jiǎn)單的結(jié)構(gòu),Service定下規(guī)則,通過(guò)運(yùn)維服務(wù)推送文件到目標(biāo)機(jī)器。再由Client按照規(guī)則執(zhí)行。全球互聯(lián)網(wǎng)技術(shù)大會(huì)GLOBALINTERNETTECHNOLOGYCONFERENCE>2.9I配套實(shí)施流程,形成閉合?----QA與QA制定中間件升級(jí)流程,將中間件升級(jí)發(fā)布與業(yè)務(wù)應(yīng)用升級(jí)發(fā)布隔離開(kāi)運(yùn)維做好使用培訓(xùn),用于在突發(fā)風(fēng)險(xiǎn)時(shí),即時(shí)關(guān)?;蚪M件降級(jí)QA制定發(fā)布流程配套當(dāng)研發(fā)監(jiān)控異常告警有了QA流程后,研發(fā)這一塊主要在升級(jí)前做到溝通,協(xié)調(diào)時(shí)間避免與大項(xiàng)目沖突流控系統(tǒng)做好流控為了在風(fēng)險(xiǎn)發(fā)生時(shí),能夠即時(shí)通過(guò)調(diào)整策略進(jìn)行止損流控路由&負(fù)載全球互聯(lián)網(wǎng)技術(shù)大會(huì)GLOBALINTERNETTECHNOLOGYCONFERENCE.>3.1大路朝天,各走一邊業(yè)務(wù)系統(tǒng)SITUAT獨(dú)立發(fā)布快速部署容易驗(yàn)證中間件升級(jí)更新不再受制于業(yè)務(wù)系統(tǒng)的發(fā)布周期任何環(huán)境都可以批量進(jìn)行組件升級(jí)更新操作,而研發(fā)是無(wú)感知的眾多的應(yīng)用系統(tǒng)能夠提供更全更多的運(yùn)行測(cè)試,發(fā)現(xiàn)未知問(wèn)題中間件SITUAT全球互聯(lián)網(wǎng)技術(shù)大會(huì)mnnjqlObaljnternenechnologyconference—?■>3.2不再需要〃臉〃的時(shí)代大項(xiàng)目上線時(shí),人員都比較緊張,不合適操作。萬(wàn)一發(fā)生問(wèn)題,也容易影響研發(fā)人員判斷排查。不在需要重復(fù)解釋各種問(wèn)題,只要和業(yè)務(wù)線經(jīng)理溝通確認(rèn)好時(shí)間,最后統(tǒng)一郵件告知即可。關(guān)注運(yùn)行情況,收集數(shù)據(jù),協(xié)查疑似問(wèn)題以數(shù)據(jù)為依據(jù),進(jìn)行迭代,調(diào)整設(shè)計(jì),重新部署>3.3I買(mǎi)一贈(zèng)_,附加價(jià)值(1)三方包數(shù)據(jù):應(yīng)用加載的所有JAR都會(huì)鋪路爪被上報(bào),用于后續(xù)分析。(2)統(tǒng)一版本:統(tǒng)一應(yīng)用使用的三方依賴(lài)版本,規(guī)范研發(fā)使用

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論