所謂橫向擴(kuò)展,就是通過復(fù)制服務(wù)或數(shù)據(jù)庫來分散事務(wù)負(fù)載,而縱向擴(kuò)展即購買更大的硬件。前者可以替代后者。適用于任何預(yù)計(jì)會(huì)快速增長的系統(tǒng)、服務(wù)和數(shù)據(jù)庫。利用AKF擴(kuò)展立方確定環(huán)境的正確拆分方法。通常,橫向拆分(克隆)是最簡單的方法。
只需要復(fù)制數(shù)據(jù)和功能就可以快速擴(kuò)展事務(wù)。為成功做好計(jì)劃,把系統(tǒng)設(shè)計(jì)為能夠橫向擴(kuò)展的。不要讓自己陷入如此困境:要進(jìn)行縱向擴(kuò)展時(shí),卻發(fā)現(xiàn)已經(jīng)沒錢購買更快更大的系統(tǒng)了。
當(dāng)你發(fā)現(xiàn)系統(tǒng)中的客戶和事務(wù)在快速增長,而系統(tǒng)卻不能擴(kuò)展到多個(gè)服務(wù)器上時(shí),你會(huì)怎么做?理想情況下,應(yīng)該研究你有哪些選擇。是購買更大的服務(wù)器,還是花費(fèi)更多的編程時(shí)間使軟件能在多個(gè)服務(wù)器上運(yùn)行。讓應(yīng)用程序或數(shù)據(jù)庫能夠在多個(gè)服務(wù)器上運(yùn)行,就是所謂的橫向擴(kuò)展。繼續(xù)讓系統(tǒng)在更大的硬件上運(yùn)行,則稱為縱向擴(kuò)展。在分析過程中,通過ROI計(jì)算,結(jié)論可能會(huì)是購買更大的硬件比花費(fèi)技術(shù)資源來修改應(yīng)用程序更便宜。雖然我們支持得出這種結(jié)論的分析方法,但對于超高速發(fā)展的公司和產(chǎn)品來說,這個(gè)結(jié)論可能是錯(cuò)誤的。原因在于它可能沒有考慮長期成本。把具有兩個(gè)64位雙核處理器的服務(wù)器換成具有四個(gè)處理器的服務(wù)器,其成本與從中得到的新增計(jì)算資源是成比例的(約2倍)。當(dāng)我們繼續(xù)購買具有更多處理器的大型服務(wù)器時(shí),謬誤就出現(xiàn)了。計(jì)算處理能力的成本曲線是條冪次定律曲線,其中成本的增長與更大的服務(wù)器提供的處理能力的增長不再成比例l假設(shè)你的公司在持續(xù)地成功與增長,那么你購買更大系統(tǒng)的成本就會(huì)隨著曲線一直增長。雖然你可能已經(jīng)為技術(shù)更新做了預(yù)算,但是仍可能會(huì)不得不用高得離譜的價(jià)格去購買新系統(tǒng)。而如果你的系統(tǒng)是能夠橫向擴(kuò)展的,那么購買的系統(tǒng)就會(huì)便宜得多。整體說來,你總的成本支出會(huì)大大增加。當(dāng)然,隨著代碼庫的增大以及系統(tǒng)復(fù)雜度的增加,用于解決問題的編程資源的成本也會(huì)增加,但這種增長是線性的。因此,在本章開頭的分析應(yīng)該得出的結(jié)論是:盡早花時(shí)間修改代碼進(jìn)行橫向擴(kuò)展。
7個(gè)配置(內(nèi)存和硬盤等)幾乎完全相同的服務(wù)器的成本,唯一不同的是處理器的數(shù)量和每個(gè)處理器的核數(shù)量。圖中采用的是一家大型服務(wù)器供應(yīng)商的在線報(bào)價(jià)和配置。無可否認(rèn),兩個(gè)雙核處理器的計(jì)算資源與一個(gè)四核處理器的計(jì)算資源并不相等,但從成本上對比,它們的成本非常接近。請注意快速增長的曲線。
根據(jù)我們?yōu)樯习賯€(gè)客戶服務(wù)的經(jīng)驗(yàn),這種分析產(chǎn)生的結(jié)論幾乎都是修改代碼或數(shù)據(jù)庫以進(jìn)行橫向擴(kuò)展。這就是為f什么AKFPartners認(rèn)定縱向擴(kuò)展總是失敗的原因所在。最終你總會(huì)遇到兩種情況之一,即成本不合算了,或者沒有更大型的硬件設(shè)備可用了。例如,我們有過這樣一位客戶,在把自己的顧客群分布到不同系統(tǒng)之后,他們依然有能力一直擴(kuò)展數(shù)據(jù)庫的硬件。最后,當(dāng)采用了硬件供應(yīng)商所提供的6臺大型的服務(wù)器后,達(dá)到了極限。每臺這樣的服務(wù)器需要花費(fèi)300多萬美金,硬件的整體花費(fèi)接近2000萬。由于顧客數(shù)量還在增長,所以他們還是要竭力擴(kuò)展,于是他們同意了對數(shù)據(jù)庫進(jìn)行橫向擴(kuò)展的項(xiàng)目。他們選擇用4臺較小的服務(wù)器替換每1臺大型的服務(wù)器。每臺小服務(wù)器的成本是35萬美金。最終,他們不僅成功實(shí)現(xiàn)了顧客增長所需的擴(kuò)展,還節(jié)約了將近100萬美金的成本。后來,這家公司一直在使用這些舊系統(tǒng),直到最后這些系統(tǒng)過時(shí),才采用低成本、更小的新系統(tǒng)。
大多數(shù)系統(tǒng)從最初設(shè)計(jì)時(shí)就能夠在多臺服務(wù)器上運(yùn)行,或者能夠被很容易地改為具有這種功能。對于大多數(shù)SaaS應(yīng)用來說,只要把代碼復(fù)制到多個(gè)應(yīng)用服務(wù)器上,然后把應(yīng)用服務(wù)器放在負(fù)載均衡器上,就可以實(shí)現(xiàn)這一點(diǎn)。應(yīng)用服務(wù)器之間不需要互相通信,哪個(gè)服務(wù)器處理哪個(gè)請求是由負(fù)載均衡器決定的。如果某個(gè)應(yīng)用需要記錄狀態(tài),那么可以用負(fù)載均衡器的會(huì)話cookie維護(hù)客戶瀏覽器和特定的應(yīng)用服務(wù)器之間的關(guān)聯(lián)關(guān)系。一旦客戶發(fā)起了最初請求,那么響應(yīng)該請求的服務(wù)器就會(huì)一直處理該客戶的請求,直到會(huì)話結(jié)束。橫向擴(kuò)展數(shù)據(jù)庫通常需要更多的計(jì)劃和編程工作,但就像本章開頭解釋的,這種投人是值得的。我們介紹了擴(kuò)展應(yīng)用程序或數(shù)據(jù)庫的三種方法。它們在AKF擴(kuò)展立方上被標(biāo)識為X軸、Y軸和Z軸,分別對應(yīng)于復(fù)制(克隆)拆分不同的東西(服務(wù))和拆分相近的東西(客戶)
“等等!”你可能會(huì)大喊,“Intel的創(chuàng)始人之一戈登?摩爾在1965年預(yù)言過,集成電路上的晶體管數(shù)目,每兩年就會(huì)翻一番!”不錯(cuò),近50年來,摩爾定律一直是對的,這點(diǎn)令人驚嘆。問題是,這個(gè)“定律”并不是永恒的真理,戈登·摩爾在2005年的訪談中也承認(rèn)了這一點(diǎn)。此外,如果你的公司真是一個(gè)超高速發(fā)展的
網(wǎng)站建設(shè)公司,那么你的客戶數(shù)或業(yè)務(wù)量不會(huì)每兩年只翻一番,很可能每個(gè)季度就翻一番。如果依據(jù)摩爾定律擴(kuò)展你的系統(tǒng),那么無論是擴(kuò)展應(yīng)用程序還是擴(kuò)展數(shù)據(jù)庫,都可能會(huì)導(dǎo)致失敗。
名稱欄目:設(shè)計(jì)橫向擴(kuò)展方案
文章路徑:http://www.rwnh.cn/news/146091.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營銷型網(wǎng)站建設(shè)、網(wǎng)站營銷、定制網(wǎng)站、靜態(tài)網(wǎng)站、ChatGPT、全網(wǎng)營銷推廣
廣告
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源:
創(chuàng)新互聯(lián)