我們提供的服務(wù)有:做網(wǎng)站、成都做網(wǎng)站、微信公眾號(hào)開(kāi)發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、鼎城ssl等。為數(shù)千家企事業(yè)單位解決了網(wǎng)站和推廣的問(wèn)題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的鼎城網(wǎng)站制作公司
| 本文出處:https://yq.aliyun.com/articles/511876
作者Ryu Xin,原文標(biāo)題《如何實(shí)現(xiàn)32.5萬(wàn)筆/秒的交易峰值?阿里交易系統(tǒng)TMF2.0技術(shù)揭秘》,技術(shù)瑣話受權(quán)轉(zhuǎn)載。
2017年雙11,交易峰值達(dá)到了32.5萬(wàn)筆/秒,這給整個(gè)交易系統(tǒng)帶來(lái)了非常大的挑戰(zhàn)。一方面,系統(tǒng)需要支撐全集團(tuán)幾十個(gè)事業(yè)部的所有交易類(lèi)需求:要考慮如何能更快響應(yīng)需求、加快發(fā)布周期;如何能為新小業(yè)務(wù)提供快速支撐、降低準(zhǔn)入門(mén)檻;是否足夠開(kāi)放使得業(yè)務(wù)方能做到自助式擴(kuò)展;新需求是否已經(jīng)在其他事業(yè)部有可復(fù)用資產(chǎn)等問(wèn)題。
互聯(lián)網(wǎng)的特點(diǎn)決定了業(yè)務(wù)系統(tǒng)是按領(lǐng)域服務(wù)建設(shè)的分布式架構(gòu)。而電商業(yè)務(wù)的特點(diǎn)是業(yè)務(wù)生命周期長(zhǎng),從招商、選品、供應(yīng)鏈、倉(cāng)儲(chǔ)、營(yíng)銷(xiāo)/導(dǎo)購(gòu)、下單、履約、物流、售后等,其業(yè)務(wù)鏈路長(zhǎng)、業(yè)務(wù)邏輯上游對(duì)下游又有影響。在這業(yè)務(wù)主線的鏈路上,又建設(shè)了眾多系統(tǒng)進(jìn)行支撐,比如商品平臺(tái)、購(gòu)物車(chē)系統(tǒng)、下單系統(tǒng)、履約系統(tǒng)、優(yōu)惠系統(tǒng)、物流系統(tǒng)、供應(yīng)鏈系統(tǒng)等,圍繞這些核心系統(tǒng),還有數(shù)不清的輔助系統(tǒng)/服務(wù),比如服務(wù)平臺(tái)、天貓SMC、淘寶CPC等等。
在每一次的業(yè)務(wù)需求分析過(guò)程中,又是需要能從業(yè)務(wù)生命周期的全鏈路視角進(jìn)行需求分析、技術(shù)方案評(píng)估、編碼、聯(lián)調(diào)以及發(fā)布。這整個(gè)過(guò)程,也是一次復(fù)雜的跨團(tuán)隊(duì)協(xié)助過(guò)程,痛點(diǎn)主要體現(xiàn)在:
1)缺少全鏈路視角的需求管理機(jī)制,協(xié)同效率低
2)平臺(tái)準(zhǔn)入門(mén)檻高,新小業(yè)務(wù)無(wú)法快速試錯(cuò)
3)業(yè)務(wù)與平臺(tái)沒(méi)有很好分離,無(wú)法支撐業(yè)務(wù)自助式(Self-Service)發(fā)展
4)缺少可復(fù)用業(yè)務(wù)資產(chǎn)。
對(duì)業(yè)務(wù)需求的跟蹤與管理缺少全業(yè)務(wù)鏈路視角,主要體現(xiàn)在:
需求的描述往往就是一句話。詳細(xì)的需求描述基本都是靠后期的一些文檔、郵件以及組織需求澄清會(huì)的形式進(jìn)行講解。在講解時(shí),會(huì)盡可能拉上能想得到的可能會(huì)相關(guān)的平臺(tái)開(kāi)發(fā)同學(xué),場(chǎng)面蔚為壯觀。
需求傳遞低效,需要反復(fù)溝通。業(yè)務(wù)需求在建模與分解過(guò)程中,缺少有效傳遞載體和形式,不能準(zhǔn)確無(wú)縫傳遞到開(kāi)發(fā),導(dǎo)致反復(fù)溝通澄清與需求返工以及重復(fù)工作量。
平臺(tái)能力缺少透出,技術(shù)方案評(píng)估花費(fèi)時(shí)間長(zhǎng)。技術(shù)同學(xué)在評(píng)估需求實(shí)現(xiàn)對(duì)平臺(tái)的改動(dòng)點(diǎn)時(shí),由于平臺(tái)能力缺少透出,業(yè)務(wù)與平臺(tái)代碼沒(méi)有分離,導(dǎo)致技術(shù)方案評(píng)估時(shí),很難一下評(píng)估出針對(duì)新續(xù)期,現(xiàn)有平臺(tái)有什么能力可以服用?改動(dòng)對(duì)現(xiàn)有哪些業(yè)務(wù)會(huì)有影響?對(duì)相關(guān)的周邊哪些系統(tǒng)有影響?工作量有多少? 這些基本都需要事后去反復(fù)翻代碼分析評(píng)估。
類(lèi)似需求重復(fù)建設(shè)。 需求發(fā)布上線后,隨著時(shí)間的推移,人員的更換。就沒(méi)有人知道這個(gè)需求當(dāng)時(shí)是如何實(shí)現(xiàn)的?遇到類(lèi)似需求的方案評(píng)估,又只能翻代碼,或者重復(fù)實(shí)現(xiàn)一次。
新小業(yè)務(wù)都有一個(gè)成長(zhǎng)規(guī)律,在早期業(yè)務(wù)模式驗(yàn)證階段,需要的玩法比較簡(jiǎn)單,希望能頻繁的發(fā)布快速試錯(cuò)。但共享的交易平臺(tái)、商品平臺(tái)、營(yíng)銷(xiāo)平臺(tái)等雖然能支持各種業(yè)務(wù)模式與營(yíng)銷(xiāo)玩法。但對(duì)于新小業(yè)務(wù)而言,這些在早期并不適用,他們希望平臺(tái)能靈活裁剪,比如:
1)下單流程是否能裁剪成極簡(jiǎn)流程,而不是必須走完整流程
2)與其他業(yè)務(wù)代碼在運(yùn)行期分離,不希望對(duì)其他業(yè)務(wù)或者被其他業(yè)務(wù)所影響
3)業(yè)務(wù)發(fā)布節(jié)奏可以自行控制,不希望等待每周一次的全網(wǎng)回歸
阿里電商業(yè)務(wù)五花八門(mén),各部門(mén)的定位也不一樣,有的定位于是面向“垂直”行業(yè)的,比如天貓汽車(chē)業(yè)務(wù)、盒馬生鮮業(yè)務(wù)、航旅業(yè)務(wù)等;而有的又是定位于面向?qū)λ行袠I(yè)支撐的平臺(tái)業(yè)務(wù),如聚劃算、導(dǎo)購(gòu)寶等。 所以,業(yè)務(wù)本身會(huì)分成“垂直”和“水平”兩個(gè)維度。在一次業(yè)務(wù)交互過(guò)程中,其業(yè)務(wù)復(fù)雜度就在于業(yè)務(wù)“垂直”維度與“水平”維度產(chǎn)生的疊加,并由疊加而產(chǎn)生的業(yè)務(wù)規(guī)則上的沖突。
針對(duì)業(yè)務(wù)疊加的處理,各系統(tǒng)基本上還是基于SPI擴(kuò)展機(jī)制,這些SPI缺少按照業(yè)務(wù)維度進(jìn)行組織與隔離。在業(yè)務(wù)種類(lèi)少,不同業(yè)務(wù)在邏輯疊加度小的情況下還是可以在很大程度上解決業(yè)務(wù)可定制化、多樣化的問(wèn)題。但隨著各類(lèi)業(yè)務(wù)越來(lái)越多時(shí),就會(huì)導(dǎo)致各類(lèi)業(yè)務(wù)在同一個(gè)擴(kuò)展點(diǎn)上的疊加效應(yīng)越來(lái)越突出。其中最薄弱的點(diǎn)就是 SPI接口中是否需要執(zhí)行的過(guò)濾方法(filter)的編寫(xiě)。一旦過(guò)濾方法寫(xiě)得不好,就可能會(huì)造成不該執(zhí)行的邏輯被執(zhí)行了,或者把后續(xù)本該執(zhí)行的邏輯給跳過(guò)了。
在共享的各個(gè)平臺(tái)中,提供給業(yè)務(wù)方可擴(kuò)展的SPI多達(dá)幾百個(gè)。一個(gè)業(yè)務(wù)的最終邏輯是否正確,就需要該業(yè)務(wù)確保這幾百個(gè)SPI決策樹(shù)中每個(gè)節(jié)點(diǎn)注冊(cè)的位置正確,過(guò)濾方法中的過(guò)濾條件正確,同時(shí)執(zhí)行邏輯也必須確。不僅如此,本業(yè)務(wù)注冊(cè)的SPI都正確了,還需要其他的業(yè)務(wù)注冊(cè)的SPI也都是正確的,這最終導(dǎo)致了業(yè)務(wù)與業(yè)務(wù)之間高度耦合。這種耦合,又進(jìn)一步導(dǎo)致了各業(yè)務(wù)方之間、業(yè)務(wù)方與平臺(tái)之間的大量聯(lián)調(diào)、集成與回歸等配合工作,無(wú)法做到自助式的業(yè)務(wù)設(shè)計(jì)、開(kāi)發(fā)與交付。
一個(gè)企業(yè)的IT體系建設(shè)是否成熟,業(yè)界是有一些指導(dǎo)框架來(lái)進(jìn)行評(píng)估的,比如TOGAF框架。在該信息系統(tǒng)建設(shè)框架中,有一個(gè)很重要的系統(tǒng)成熟度評(píng)估項(xiàng)目 —— Enterprise Continumm(企業(yè)統(tǒng)一體)。
這里面的關(guān)鍵是企業(yè)需要建立:
架構(gòu)統(tǒng)一體(Architecture Continuum): 該統(tǒng)一體能從特定架構(gòu)中提取出可復(fù)用的組件到倉(cāng)庫(kù)中(Reposity),為后續(xù)的類(lèi)似業(yè)務(wù)的重用(Gerneralization for future re-use)。在具體應(yīng)用中,可以從組件倉(cāng)庫(kù)中選擇可復(fù)用的組件并進(jìn)行與實(shí)際應(yīng)用場(chǎng)景適配(Adaptation for use)。
解決方案統(tǒng)一體(Solutions Continuum):與架構(gòu)統(tǒng)一體類(lèi)似,在面對(duì)不同的市場(chǎng),需要能從可復(fù)用的解決方案庫(kù)中選擇并快速?gòu)?fù)制。對(duì)于新興市場(chǎng)的交付,也能提取成可復(fù)用的解決方案到資產(chǎn)庫(kù)中。
經(jīng)過(guò)多年的發(fā)展,我們?cè)谔詫殹⑻熵垏?guó)內(nèi)市場(chǎng)中,我們 有各種各樣的業(yè)務(wù)支撐工具與玩法,比如,電子憑證、預(yù)售、購(gòu)物券、紅包等等,在面對(duì)國(guó)際化市場(chǎng)交付時(shí),是否能做到業(yè)務(wù)模式的快速?gòu)?fù)用?
整個(gè)電商體系涉及的應(yīng)用高達(dá)7000+:要考慮需求的評(píng)估是否具有全鏈路視角;業(yè)務(wù)需求的技術(shù)評(píng)估是否分析全面、技術(shù)方案的影響范圍是否評(píng)估到位;業(yè)務(wù)的全鏈路穩(wěn)定性保障、調(diào)用鏈路監(jiān)控、強(qiáng)弱依賴等問(wèn)題。此外面對(duì)每天幾百個(gè)業(yè)務(wù)需求,500+個(gè)獨(dú)立的發(fā)布變更:要考慮各業(yè)務(wù)方的需求發(fā)布是否會(huì)相互產(chǎn)生影響;需求代碼是否對(duì)平臺(tái)有侵入、導(dǎo)致平臺(tái)腐化;高頻率的需求發(fā)布下如何管控質(zhì)量;能否按業(yè)務(wù)維度進(jìn)行業(yè)務(wù)監(jiān)控、故障分析等等。
面對(duì)這些挑戰(zhàn),TMF2.0框架需要解決的六大關(guān)鍵問(wèn)題:
業(yè)務(wù)全鏈路可視:業(yè)務(wù)分析人員和技術(shù)人員能基于同一套業(yè)務(wù)語(yǔ)言以全鏈路可視化方式進(jìn)行需求討論、影響分析以及技術(shù)方案評(píng)估,在業(yè)務(wù)視圖上看到的規(guī)則就是實(shí)際在運(yùn)行系統(tǒng)上運(yùn)行的規(guī)則。在對(duì)大規(guī)模的業(yè)務(wù)交付支撐場(chǎng)景下,業(yè)務(wù)可視化對(duì)于效率提升是非常必要的。
需求結(jié)構(gòu)化:基于透出的業(yè)務(wù)能力、已有的業(yè)務(wù)規(guī)則完成需求結(jié)構(gòu)化分解降低溝通成本。
業(yè)務(wù)配置化:這是可視化的前提,要在需求明確的情況下在線配置業(yè)務(wù)、快速發(fā)布上線。
業(yè)務(wù)測(cè)試一體化:根據(jù)修改的代碼進(jìn)行自動(dòng)化用例篩選、自動(dòng)化測(cè)試。
業(yè)務(wù)監(jiān)控:以精細(xì)化的業(yè)務(wù)維度進(jìn)行監(jiān)控,而不僅僅局限于交易大盤(pán)。
故障排查:當(dāng)業(yè)務(wù)故障時(shí)快速拿到故障快照、還原故障現(xiàn)場(chǎng)以及迅速定位問(wèn)題原因。
針對(duì)上面提到的問(wèn)題,TMF2在架構(gòu)設(shè)計(jì)上主要的思想是:
業(yè)務(wù)包與平臺(tái)分離的插件化架構(gòu): 平臺(tái)提供插件包注冊(cè)機(jī)制,實(shí)現(xiàn)業(yè)務(wù)方插件包在運(yùn)行期的注冊(cè)。業(yè)務(wù)代碼只允許存在于插件包中,與平臺(tái)代碼嚴(yán)格分離。業(yè)務(wù)包的代碼配置庫(kù)也與平臺(tái)的代碼庫(kù)分離,通過(guò)二方包的方式,提供給容器加載。
全鏈路統(tǒng)一的業(yè)務(wù)身份: 平臺(tái)需要能有按“業(yè)務(wù)身份”進(jìn)行業(yè)務(wù)與業(yè)務(wù)之間邏輯隔離的能力,而不是傳統(tǒng)SPI架構(gòu)不區(qū)分業(yè)務(wù)身份,簡(jiǎn)單過(guò)濾的方式。如何設(shè)計(jì)這個(gè)業(yè)務(wù)身份,也成為業(yè)務(wù)間隔離架構(gòu)的關(guān)鍵。
管理域與運(yùn)行域分離: 業(yè)務(wù)邏輯不能依靠運(yùn)行期動(dòng)態(tài)計(jì)算,要能在靜態(tài)期進(jìn)行定義并可視化呈現(xiàn)。業(yè)務(wù)定義中出現(xiàn)的規(guī)則疊加沖突,也在靜態(tài)器進(jìn)行沖突決策。在運(yùn)行期,嚴(yán)格按照靜態(tài)器定義的業(yè)務(wù)規(guī)則、沖突決策策略執(zhí)行。
如上所示的業(yè)務(wù)定制包與平臺(tái)分離架構(gòu)可以分為三個(gè)層次。最底層是業(yè)務(wù)規(guī)范層,包括一些交易模型、交易領(lǐng)域的劃分、業(yè)務(wù)領(lǐng)域的劃分、以及交易啟動(dòng)環(huán)境下的配置項(xiàng)?;谶@個(gè)理論模型,就可以進(jìn)行一些定義及規(guī)范工作,比如接口定義、流程規(guī)范、模型規(guī)范等,而且其中的很多內(nèi)容都可以在不同的領(lǐng)域進(jìn)行復(fù)用。
業(yè)務(wù)規(guī)范層之上是解決方案層。大家都知道阿里巴巴目前正在走國(guó)際化的戰(zhàn)略,所以面對(duì)不同的市場(chǎng)會(huì)構(gòu)建不同的解決方案,不同的解決方案中也就有自己不同的業(yè)務(wù)玩法、業(yè)務(wù)邏輯。所以要將不同的市場(chǎng)解決方案和他們自身的流程、規(guī)則結(jié)合起來(lái)。但是這一過(guò)程中會(huì)發(fā)現(xiàn),不同的市場(chǎng)解決方案會(huì)有很多可以復(fù)用的地方,比如營(yíng)銷(xiāo)模式。所以形成的可復(fù)用基礎(chǔ)實(shí)現(xiàn)就可以在不同的解決方案中得到復(fù)用,所那么在面對(duì)不同的市場(chǎng)時(shí)就不用考慮可復(fù)用基礎(chǔ)實(shí)現(xiàn)的內(nèi)容,只需要關(guān)注市場(chǎng)相關(guān)的業(yè)務(wù)就可以了。
再往上一層是業(yè)務(wù)定制層。即使是在一個(gè)市場(chǎng)內(nèi),也會(huì)有各種細(xì)分的定制玩法,這些不同的細(xì)分點(diǎn)就會(huì)有各自不同的業(yè)務(wù)邏輯,這就是制定業(yè)務(wù)定制層的原因。團(tuán)隊(duì)會(huì)根據(jù)底層的需求點(diǎn)來(lái)進(jìn)行一些業(yè)務(wù)定制包的組裝,就可以實(shí)現(xiàn)不同的業(yè)務(wù)邏輯和玩法了。
在這樣一個(gè)復(fù)雜的分離架構(gòu)中,最重要的是要將不同層次間的職責(zé)劃分清晰,整個(gè)代碼都嚴(yán)格地、有意識(shí)地進(jìn)行分離。所以在最后的部署過(guò)程中,首先要完成底層業(yè)務(wù)的復(fù)用,然后形成不同市場(chǎng)的解決方案,再在解決方案下對(duì)不同的業(yè)務(wù)實(shí)現(xiàn)差異化的點(diǎn)。
上面所講的是業(yè)務(wù)和平臺(tái)的分離,在業(yè)務(wù)和平臺(tái)分離之后就要進(jìn)行業(yè)務(wù)和業(yè)務(wù)之間的隔離,即統(tǒng)一的業(yè)務(wù)身份,類(lèi)似于身份證號(hào)碼,在整個(gè)交易鏈路上必須是唯一的。業(yè)務(wù)身份需要通過(guò)人、貨、場(chǎng)三個(gè)維度進(jìn)行抽象,比如市場(chǎng)類(lèi)型、垂直市場(chǎng)、渠道來(lái)源等等,確定了這個(gè)唯一的業(yè)務(wù)身份后就可以將業(yè)務(wù)流程和業(yè)務(wù)規(guī)則進(jìn)行關(guān)聯(lián)。
基于業(yè)務(wù)識(shí)別,團(tuán)隊(duì)也提供了一個(gè)基于UIL的業(yè)務(wù)身份識(shí)別方案,總體設(shè)計(jì)基于標(biāo)準(zhǔn)模型來(lái)抽象,自定義語(yǔ)法,統(tǒng)一管理模型。事實(shí)上,通過(guò)樣品模型、買(mǎi)家模型、賣(mài)家模型、類(lèi)目模型這四個(gè)維度,99%的商品都可以有效地進(jìn)行標(biāo)識(shí)。業(yè)務(wù)身份確定后,就可以按照業(yè)務(wù)身份維度,對(duì)業(yè)務(wù)配置、部署進(jìn)行統(tǒng)一管理,在這其中要注意配置隔離性、熱部署、配置回滾、配置確定性等核心要素。
業(yè)務(wù)身份確定后就要進(jìn)行業(yè)務(wù)定義,這其中就涉及管理域和運(yùn)行域分離的問(wèn)題。管理域就是指對(duì)業(yè)務(wù)生命周期、業(yè)務(wù)身份、業(yè)務(wù)對(duì)象進(jìn)行定義,包括業(yè)務(wù)流程、業(yè)務(wù)管理等。這些操作完成之后就會(huì)將配置文件下發(fā)到,運(yùn)行域上的各種平臺(tái)就會(huì)自動(dòng)解析配置域所下發(fā)的配置文件,然后將配置文件解析成業(yè)務(wù)命令來(lái)執(zhí)行。
在上面所講的業(yè)務(wù)域中,一個(gè)核心的問(wèn)題就是如何定義業(yè)務(wù):核心三要素是業(yè)務(wù)身份、業(yè)務(wù)疊加關(guān)系、沖突決策,即基于業(yè)務(wù)協(xié)議標(biāo)準(zhǔn)定義業(yè)務(wù),執(zhí)行單元按協(xié)議執(zhí)行業(yè)務(wù)邏輯。
在業(yè)務(wù)疊加關(guān)系中,業(yè)務(wù)的復(fù)雜度就在于業(yè)務(wù)規(guī)則在不同維度下產(chǎn)生的沖突。業(yè)務(wù)的復(fù)雜度可以分為兩個(gè)維度,一個(gè)是橫向維度,一個(gè)是垂直維度。
垂直維度,也可稱(chēng)之為“行業(yè)”。往往一個(gè)特定的“業(yè)務(wù)對(duì)象”(如商品),在靜態(tài)期就能確認(rèn)其具體歸屬于哪個(gè)行業(yè)。行業(yè)與行業(yè)之間的業(yè)務(wù)規(guī)則是不會(huì)有疊加的。比如,付款超時(shí)時(shí)間,各可以設(shè)置為1天超時(shí)。但“天貓汽車(chē)”把超時(shí)時(shí)間改了,一定不會(huì)聯(lián)動(dòng)改其他業(yè)務(wù)的超時(shí)設(shè)置。橫向維度,也稱(chēng)為產(chǎn)品維度,特點(diǎn)有:產(chǎn)品是可以被多個(gè)垂直業(yè)務(wù)所使用的、一個(gè)垂直業(yè)務(wù)是可以使用多個(gè)產(chǎn)品的、產(chǎn)品是否生效是需要結(jié)合業(yè)務(wù)會(huì)話的。比如,“電子憑證”是否生效,要看用戶是否選擇了“電子憑證”的交付方式。
通過(guò)業(yè)務(wù)復(fù)雜度的分析,可以得出一個(gè)結(jié)論是:一次業(yè)務(wù)會(huì)話完整的規(guī)則=1個(gè)垂直業(yè)務(wù)規(guī)則集合+ N個(gè)水平業(yè)務(wù)規(guī)則集。所以在做業(yè)務(wù)定義和管理的時(shí)候,具體就是在管某一個(gè)垂直業(yè)務(wù)是和哪些橫向業(yè)務(wù)在疊加。在疊加之后產(chǎn)生的業(yè)務(wù)沖突又是怎么解決的?要基于這一點(diǎn)進(jìn)行業(yè)務(wù)管理。這是比較關(guān)鍵的一點(diǎn)。
下面詳細(xì)闡述一下TMF 2.0的關(guān)鍵模型,主要包括業(yè)務(wù)配置主線和業(yè)務(wù)運(yùn)行主線。
在業(yè)務(wù)配置主線中,由項(xiàng)目的業(yè)務(wù)PD來(lái)看一下當(dāng)前業(yè)務(wù)涉及到哪些業(yè)務(wù)域,以及這些業(yè)務(wù)域下面有哪些功能和產(chǎn)品可以去使用,哪些業(yè)務(wù)點(diǎn)是可以去擴(kuò)展的。這其中就需要能力域模型的支撐,通過(guò)這個(gè)模型所透出的結(jié)構(gòu)化數(shù)據(jù),來(lái)研究平臺(tái)中每個(gè)域具備的能力、每個(gè)能力具有的可變點(diǎn),從而有針對(duì)性地進(jìn)行設(shè)置。在配置模型里,通過(guò)關(guān)鍵的視圖模板,進(jìn)行模板透出,然后保存、下發(fā)配置數(shù)據(jù)到業(yè)務(wù)運(yùn)行主線。業(yè)務(wù)配置主線和業(yè)務(wù)運(yùn)行主線是相交互的。
基于TMF 2.0關(guān)鍵模型,整個(gè)交易平臺(tái)實(shí)現(xiàn)了業(yè)務(wù)定義可視、可管、可配。業(yè)務(wù)定義可視化包括系統(tǒng)能力可視化、業(yè)務(wù)流程可視化、業(yè)務(wù)規(guī)則可視化、產(chǎn)品疊加可視化等;業(yè)務(wù)可配置,所見(jiàn)即所得的業(yè)務(wù)規(guī)則可配置能力,凡是基于TMF2標(biāo)準(zhǔn)構(gòu)建的系統(tǒng)均立刻可獲取業(yè)務(wù)可配置能力,不需做額外的開(kāi)發(fā);配置版本化,針對(duì)業(yè)務(wù)配置有完善的版本化管理機(jī)制,配置推送可實(shí)現(xiàn)按版本快速生效或者回退;業(yè)務(wù)多租戶管理,不同的業(yè)務(wù)系統(tǒng)之間可以通過(guò)租戶完全隔離的。不同的租戶有自己的數(shù)據(jù)空間,以及配置推送策略。
當(dāng)業(yè)務(wù)與平臺(tái)分離并且具有業(yè)務(wù)身份的識(shí)別后,我們就可以從業(yè)務(wù)維度進(jìn)行可靠性保障,主要有:1)按業(yè)務(wù)維度進(jìn)行故障監(jiān)控 2)按業(yè)務(wù)維度分集群部署 3)按業(yè)務(wù)維度做穩(wěn)定性保障 等。
在過(guò)去沒(méi)有做到業(yè)務(wù)身份識(shí)別時(shí),每天的交易大盤(pán)監(jiān)控還比較粗放,只能去從整體去監(jiān)控交易量趨勢(shì)。有些業(yè)務(wù),特別是一些新小業(yè)務(wù),其早期交易量非常小。即使因?yàn)楣收辖灰椎懔?,從交易大盤(pán)上也無(wú)法即使監(jiān)控到,只有等到客戶投訴了才發(fā)現(xiàn)有故障發(fā)生。
基于TMF2構(gòu)建的業(yè)務(wù)系統(tǒng),因?yàn)橛小皹I(yè)務(wù)身份”的標(biāo)示,我們就可以將業(yè)務(wù)身份標(biāo)示貫穿整個(gè)接口調(diào)用鏈路以及寫(xiě)入日志中。并在各類(lèi)監(jiān)控大盤(pán)中,可以針對(duì)業(yè)務(wù)維度進(jìn)行分組展現(xiàn)。
過(guò)去淘寶、天貓所有的交易,都是通過(guò)同一套BUY、TP進(jìn)行下單并履約的。當(dāng)某個(gè)業(yè)務(wù)有新需求或者故障解決等原因,要進(jìn)行升級(jí)部署時(shí),就不可避免的將所有機(jī)器都分批進(jìn)行升級(jí)部署。每一次升級(jí)發(fā)布,都是一次變更行為,只要有變更就可能會(huì)產(chǎn)生新的故障。
基于TMF2構(gòu)建的業(yè)務(wù)系統(tǒng),因?yàn)橛小皹I(yè)務(wù)身份”的識(shí)別。我們就可以根據(jù)業(yè)務(wù)身份做前置路由。給不同的業(yè)務(wù)身份分配不同的集群,并按集群去分別部署業(yè)務(wù)。從物理的隔離,在滿足一些業(yè)務(wù)快速迭代發(fā)布的訴求下,還能保障業(yè)務(wù)的穩(wěn)定性。
過(guò)去在沒(méi)有業(yè)務(wù)身份的識(shí)別下,在做性能優(yōu)化、大促保障時(shí),是沒(méi)法按業(yè)務(wù)維度用不同的QoS策略進(jìn)行差異化的大促保障。比如,無(wú)法按照業(yè)務(wù)維度進(jìn)行流量分配進(jìn)行限流、無(wú)法按照業(yè)務(wù)維度建立性能基線并進(jìn)行性能劣化監(jiān)控等。業(yè)務(wù)平臺(tái)目前正在做的天秤項(xiàng)目,與過(guò)去單純監(jiān)控物理指標(biāo)不一樣的地方,就是在于能按照業(yè)務(wù)進(jìn)行場(chǎng)景化監(jiān)控。例如:
可以按業(yè)務(wù)維度建立各業(yè)務(wù)在各個(gè)調(diào)用場(chǎng)景下的性能基線,如RT、QPS等,一旦某次發(fā)布和預(yù)設(shè)基線有重大差異,就能快速找到性能劣化的業(yè)務(wù)并進(jìn)行改進(jìn)
可以按業(yè)務(wù)維度建立外部服務(wù)調(diào)用的強(qiáng)弱依賴關(guān)系,結(jié)合強(qiáng)弱依賴關(guān)系可制定全局以及業(yè)務(wù)維度的各種預(yù)案開(kāi)關(guān)。
可以按全局或者業(yè)務(wù)維度,構(gòu)建全局調(diào)用鏈路監(jiān)控大盤(pán)。
業(yè)務(wù)需求平均開(kāi)發(fā)周期縮短至12天: 比如汽車(chē)4S服務(wù)中,在老系統(tǒng)上做了一個(gè)月(未完成),新系統(tǒng)7天完成;五道口業(yè)務(wù)中,在老系統(tǒng)中評(píng)估工作量?jī)蓚€(gè)月,新系統(tǒng)12個(gè)工作日完成;餓了么業(yè)務(wù)中,老系統(tǒng)評(píng)估要兩周,基于新系統(tǒng)2天完成。
平臺(tái)與業(yè)務(wù)解耦: 目前已完成的業(yè)務(wù),其業(yè)務(wù)定制均只存在于業(yè)務(wù)包;在平臺(tái)未改動(dòng)情況下,業(yè)務(wù)方的發(fā)布更加靈活(有多次單業(yè)務(wù)發(fā)布,不需要其他業(yè)務(wù)方進(jìn)行回歸的案例)。
業(yè)務(wù)資產(chǎn)庫(kù): 積累形成了50+業(yè)務(wù)資產(chǎn)庫(kù),新業(yè)務(wù)可快速進(jìn)行快速?gòu)?fù)制、調(diào)整并發(fā)布。
文章名稱(chēng):跳開(kāi)DDD和中臺(tái)概念看阿里巴巴交易平臺(tái)的問(wèn)題及解決思路
本文鏈接:http://sd-ha.com/article12/gpsedc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google、外貿(mào)建站、建站公司、企業(yè)網(wǎng)站制作、品牌網(wǎng)站設(shè)計(jì)、App設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)