交易完整性是大型主機(jī)時(shí)代不可或缺的一部分,但在web的時(shí)代里這個(gè)東西正在經(jīng)歷著某些轉(zhuǎn)變。開(kāi)發(fā)領(lǐng)導(dǎo)視之為強(qiáng)硬的前端Web用戶(hù)“撞”上了后端的大型主機(jī)。這得由軟件架構(gòu)師對(duì)相互競(jìng)爭(zhēng)的系統(tǒng)目標(biāo)做出平衡。
在拉斯維加斯舉行的IBM Impact 2012上,知名行業(yè)分析師,RedMonk 的首席分析師及創(chuàng)始人James Governor在一場(chǎng)有關(guān)IBM的Z系列服務(wù)器及交易完整性問(wèn)題的對(duì)話(huà)上談到了大型主機(jī)事務(wù)處理,根據(jù)他的說(shuō)法,接下來(lái),大型主機(jī)和Web前端都有著獨(dú)特的角色需要扮演。
Governor一開(kāi)始就說(shuō),軟件設(shè)計(jì)師應(yīng)該努力對(duì)那些角色有一個(gè)好的理解,以便繼承一個(gè)壓力不斷增加的Web應(yīng)用架構(gòu)
“規(guī)模增長(zhǎng)真的很強(qiáng)勁,”他驚呼道。“物聯(lián)網(wǎng)”的發(fā)展以及智能手機(jī)類(lèi)設(shè)備的急劇增長(zhǎng)會(huì)給系統(tǒng)造成壓力,他指出。
負(fù)荷顯著上升,大多數(shù)大型主機(jī)用戶(hù)均同意這一點(diǎn)。但大型主機(jī)支撐著的一個(gè)關(guān)鍵的住宿系統(tǒng)可以處理這些負(fù)荷,萬(wàn)豪國(guó)際負(fù)責(zé)信息服務(wù)的副總裁Misha Kravchenko說(shuō)。
Kravchenko估計(jì)萬(wàn)豪每天用一套集中運(yùn)營(yíng)系統(tǒng)處理80萬(wàn)個(gè)間夜的預(yù)訂,且“沒(méi)有宕機(jī)”。隨著萬(wàn)豪努力將分布的負(fù)荷聯(lián)合放到IBM的Z級(jí)機(jī)器上,近幾年負(fù)荷出現(xiàn)了上升。顯然,對(duì)于一度要靠呼叫中心、旅游代理及純舊式電話(huà)支撐的業(yè)務(wù)來(lái)說(shuō),Web已成為一股顛覆性的力量。
一旦移動(dòng)應(yīng)用真正騰飛起來(lái),他預(yù)計(jì)會(huì)出現(xiàn)更加激烈的增長(zhǎng)。萬(wàn)豪最近發(fā)布了移動(dòng)工具,幫助旅行者尋找附近的酒店、預(yù)訂房間以及核實(shí)預(yù)訂情況。這些移動(dòng)用戶(hù)當(dāng)中有很多都是萬(wàn)豪獎(jiǎng)勵(lì)計(jì)劃的一員。
分析師Governor說(shuō),理解交易問(wèn)題的核心在于對(duì)計(jì)算機(jī)科學(xué)家Eric Brewer的“CAP(一致性—可用性—分區(qū)容忍性)”定理的領(lǐng)會(huì)。
Brewer斷言,對(duì)于這三個(gè)特性,系統(tǒng)設(shè)計(jì)師在設(shè)計(jì)中一般只能授權(quán)進(jìn)行其中的兩個(gè)。在其旗幟的電子商務(wù)系統(tǒng)中,云的風(fēng)云人物Amazon.com以將“最終一致性”置于即時(shí)交易一致性之前而著稱(chēng)。
做主機(jī)的人對(duì)于這些交易特性采取了一種非常不同的觀點(diǎn)。用Governor的話(huà)來(lái)說(shuō)就是:“做主機(jī)的希望三者皆有之。”
高完整性的交易處理,大鐵箱和朋克搖滾
針對(duì)需要Brewer三特性的交易,考慮主機(jī)設(shè)計(jì)時(shí),軟件架構(gòu)師也許做得很好,不過(guò)要考慮一下其他活動(dòng)的隔離。對(duì)于這一工作的一部分,他們也許會(huì)考慮獨(dú)立的ESB網(wǎng)關(guān)。據(jù)萬(wàn)豪IT經(jīng)理Kravchenko的估計(jì),他們也許還會(huì)尋求避免XML數(shù)據(jù)過(guò)度的來(lái)回折騰。
在其較早版本的集中住宿系統(tǒng)中,單個(gè)XML交易會(huì)到主機(jī)那里跑4、5趟,Kravchenko說(shuō)。現(xiàn)在,這一情況變了。
“現(xiàn)在XML消息傳遞在主機(jī)中完成。這意味著往返的次數(shù)減少了,”他說(shuō)。同時(shí),主機(jī)MIPS的使用也因此下降,他指出。
萬(wàn)豪系統(tǒng)的交易性質(zhì)跟電子商務(wù)網(wǎng)站Amazon的有所不同。理解這一點(diǎn)堅(jiān)定了萬(wàn)豪將交易處理與房間困惑數(shù)據(jù)庫(kù)緊耦合的計(jì)劃。
當(dāng)你在Amazon上買(mǎi)書(shū)的時(shí)候,你看不到存貨情況,這一數(shù)據(jù)是經(jīng)常更新的,可以描述為交易的最終一致性概念。Kravchenko的觀點(diǎn)是,對(duì)于Amazon來(lái)說(shuō)這沒(méi)關(guān)系,因?yàn)椋确秸f(shuō),書(shū)本的價(jià)格并不會(huì)經(jīng)常改變,而如果與客戶(hù)的溝通能夠恰當(dāng)處理的話(huà),延遲的可用性也可以被接受。
酒店房間就不一樣了;其實(shí)時(shí)、有保障的可用性是至關(guān)重要的——因?yàn)榇蠖鄶?shù)商務(wù)旅行者曾在月黑風(fēng)高風(fēng)雨交加的晚上出現(xiàn)過(guò)。
跟其他人一樣,萬(wàn)豪對(duì)街區(qū)房間的彈性定價(jià)也經(jīng)過(guò)了仔細(xì)的計(jì)算。這一“收入管理定價(jià)系統(tǒng)很復(fù)雜,公司需要彈性定價(jià)到最后一間房,”Kravchenko說(shuō)。
“我們需要一個(gè)數(shù)據(jù)庫(kù)。它跟存貨連接。Amazon則不同,”他說(shuō)。
云交易型可以覆蓋許多方面,但并非全部。
云提供商已經(jīng)為Web時(shí)代以某種方式重建了主機(jī)型的交易處理。Governor熟練地用一種音樂(lè)類(lèi)比總結(jié)了新的交易領(lǐng)域:“少壯派已經(jīng)來(lái)到這里建立起自己的系統(tǒng)。他們正嘗試著做主機(jī)做過(guò)的東西。”
Amazon、Google和Facebook已經(jīng)用一種更為簡(jiǎn)單的方式來(lái)減低復(fù)雜性,十分類(lèi)似于上世紀(jì)七十年代重塑搖滾的朋克音樂(lè)。
“他們說(shuō)‘我們只用四和弦’,”Governor開(kāi)玩笑道。
至于主機(jī),Governor說(shuō):“讓我們弄清楚其最擅長(zhǎng)什么,然后也許可以從朋克音樂(lè)身上學(xué)到點(diǎn)什么。”