設(shè)計橫向擴展方案

2022-04-21    分類: 網(wǎng)站建設(shè)

所謂橫向擴展,就是通過復(fù)制服務(wù)或數(shù)據(jù)庫來分散事務(wù)負(fù)載,而縱向擴展即購買更大的硬件。前者可以替代后者。適用于任何預(yù)計會快速增長的系統(tǒng)、服務(wù)和數(shù)據(jù)庫。利用AKF擴展立方確定環(huán)境的正確拆分方法。通常,橫向拆分(克隆)是最簡單的方法。
只需要復(fù)制數(shù)據(jù)和功能就可以快速擴展事務(wù)。為成功做好計劃,把系統(tǒng)設(shè)計為能夠橫向擴展的。不要讓自己陷入如此困境:要進(jìn)行縱向擴展時,卻發(fā)現(xiàn)已經(jīng)沒錢購買更快更大的系統(tǒng)了。
當(dāng)你發(fā)現(xiàn)系統(tǒng)中的客戶和事務(wù)在快速增長,而系統(tǒng)卻不能擴展到多個服務(wù)器上時,你會怎么做?理想情況下,應(yīng)該研究你有哪些選擇。是購買更大的服務(wù)器,還是花費更多的編程時間使軟件能在多個服務(wù)器上運行。讓應(yīng)用程序或數(shù)據(jù)庫能夠在多個服務(wù)器上運行,就是所謂的橫向擴展。繼續(xù)讓系統(tǒng)在更大的硬件上運行,則稱為縱向擴展。在分析過程中,通過ROI計算,結(jié)論可能會是購買更大的硬件比花費技術(shù)資源來修改應(yīng)用程序更便宜。雖然我們支持得出這種結(jié)論的分析方法,但對于超高速發(fā)展的公司和產(chǎn)品來說,這個結(jié)論可能是錯誤的。原因在于它可能沒有考慮長期成本。把具有兩個64位雙核處理器的服務(wù)器換成具有四個處理器的服務(wù)器,其成本與從中得到的新增計算資源是成比例的(約2倍)。當(dāng)我們繼續(xù)購買具有更多處理器的大型服務(wù)器時,謬誤就出現(xiàn)了。計算處理能力的成本曲線是條冪次定律曲線,其中成本的增長與更大的服務(wù)器提供的處理能力的增長不再成比例l假設(shè)你的公司在持續(xù)地成功與增長,那么你購買更大系統(tǒng)的成本就會隨著曲線一直增長。雖然你可能已經(jīng)為技術(shù)更新做了預(yù)算,但是仍可能會不得不用高得離譜的價格去購買新系統(tǒng)。而如果你的系統(tǒng)是能夠橫向擴展的,那么購買的系統(tǒng)就會便宜得多。整體說來,你總的成本支出會大大增加。當(dāng)然,隨著代碼庫的增大以及系統(tǒng)復(fù)雜度的增加,用于解決問題的編程資源的成本也會增加,但這種增長是線性的。因此,在本章開頭的分析應(yīng)該得出的結(jié)論是:盡早花時間修改代碼進(jìn)行橫向擴展。

7個配置(內(nèi)存和硬盤等)幾乎完全相同的服務(wù)器的成本,唯一不同的是處理器的數(shù)量和每個處理器的核數(shù)量。圖中采用的是一家大型服務(wù)器供應(yīng)商的在線報價和配置。無可否認(rèn),兩個雙核處理器的計算資源與一個四核處理器的計算資源并不相等,但從成本上對比,它們的成本非常接近。請注意快速增長的曲線。
根據(jù)我們?yōu)樯习賯€客戶服務(wù)的經(jīng)驗,這種分析產(chǎn)生的結(jié)論幾乎都是修改代碼或數(shù)據(jù)庫以進(jìn)行橫向擴展。這就是為f什么AKFPartners認(rèn)定縱向擴展總是失敗的原因所在。最終你總會遇到兩種情況之一,即成本不合算了,或者沒有更大型的硬件設(shè)備可用了。例如,我們有過這樣一位客戶,在把自己的顧客群分布到不同系統(tǒng)之后,他們依然有能力一直擴展數(shù)據(jù)庫的硬件。最后,當(dāng)采用了硬件供應(yīng)商所提供的6臺大型的服務(wù)器后,達(dá)到了極限。每臺這樣的服務(wù)器需要花費300多萬美金,硬件的整體花費接近2000萬。由于顧客數(shù)量還在增長,所以他們還是要竭力擴展,于是他們同意了對數(shù)據(jù)庫進(jìn)行橫向擴展的項目。他們選擇用4臺較小的服務(wù)器替換每1臺大型的服務(wù)器。每臺小服務(wù)器的成本是35萬美金。最終,他們不僅成功實現(xiàn)了顧客增長所需的擴展,還節(jié)約了將近100萬美金的成本。后來,這家公司一直在使用這些舊系統(tǒng),直到最后這些系統(tǒng)過時,才采用低成本、更小的新系統(tǒng)。
大多數(shù)系統(tǒng)從最初設(shè)計時就能夠在多臺服務(wù)器上運行,或者能夠被很容易地改為具有這種功能。對于大多數(shù)SaaS應(yīng)用來說,只要把代碼復(fù)制到多個應(yīng)用服務(wù)器上,然后把應(yīng)用服務(wù)器放在負(fù)載均衡器上,就可以實現(xiàn)這一點。應(yīng)用服務(wù)器之間不需要互相通信,哪個服務(wù)器處理哪個請求是由負(fù)載均衡器決定的。如果某個應(yīng)用需要記錄狀態(tài),那么可以用負(fù)載均衡器的會話cookie維護(hù)客戶瀏覽器和特定的應(yīng)用服務(wù)器之間的關(guān)聯(lián)關(guān)系。一旦客戶發(fā)起了最初請求,那么響應(yīng)該請求的服務(wù)器就會一直處理該客戶的請求,直到會話結(jié)束。橫向擴展數(shù)據(jù)庫通常需要更多的計劃和編程工作,但就像本章開頭解釋的,這種投人是值得的。我們介紹了擴展應(yīng)用程序或數(shù)據(jù)庫的三種方法。它們在AKF擴展立方上被標(biāo)識為X軸、Y軸和Z軸,分別對應(yīng)于復(fù)制(克隆)拆分不同的東西(服務(wù))和拆分相近的東西(客戶)
“等等!”你可能會大喊,“Intel的創(chuàng)始人之一戈登?摩爾在1965年預(yù)言過,集成電路上的晶體管數(shù)目,每兩年就會翻一番!”不錯,近50年來,摩爾定律一直是對的,這點令人驚嘆。問題是,這個“定律”并不是永恒的真理,戈登·摩爾在2005年的訪談中也承認(rèn)了這一點。此外,如果你的公司真是一個超高速發(fā)展的網(wǎng)站建設(shè)公司,那么你的客戶數(shù)或業(yè)務(wù)量不會每兩年只翻一番,很可能每個季度就翻一番。如果依據(jù)摩爾定律擴展你的系統(tǒng),那么無論是擴展應(yīng)用程序還是擴展數(shù)據(jù)庫,都可能會導(dǎo)致失敗。

網(wǎng)頁標(biāo)題:設(shè)計橫向擴展方案
網(wǎng)站地址:http://muchs.cn/news41/146091.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、微信公眾號搜索引擎優(yōu)化、外貿(mào)建站、標(biāo)簽優(yōu)化、軟件開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁設(shè)計公司