場(chǎng)景引入
現(xiàn)在,請(qǐng)假設(shè)你是一家電商公司的技術(shù)負(fù)責(zé)人,你的公司將要迎來(lái)一年一度的雙11購(gòu)物狂歡節(jié),你需要為公司的網(wǎng)站做好充分的準(zhǔn)備,以應(yīng)對(duì)即將到來(lái)的流量高峰。然而,毫無(wú)經(jīng)驗(yàn)的你選擇了讓服務(wù)器在雙11結(jié)束之前打烊。然后…然后就沒(méi)有然后了。
—— 面對(duì)類(lèi)似這樣的問(wèn)題,我們可以考慮對(duì)系統(tǒng)進(jìn)行“擴(kuò)展”。
何為擴(kuò)展?
提高系統(tǒng)的處理能力。
為何擴(kuò)展?
只要產(chǎn)品增長(zhǎng),就會(huì)帶來(lái)系統(tǒng)負(fù)載的增長(zhǎng),包括但不限于:數(shù)據(jù)量、流量、業(yè)務(wù)復(fù)雜性。當(dāng)一個(gè)系統(tǒng)的負(fù)載增加時(shí),系統(tǒng)就可能會(huì)出現(xiàn)性能瓶頸、響應(yīng)時(shí)間變慢、甚至崩潰等問(wèn)題。
類(lèi)比:?jiǎn)T工的能力若跟不上公司業(yè)務(wù)發(fā)展速度,就會(huì)出現(xiàn)項(xiàng)目延期、交付質(zhì)量不佳,甚至跑路。
而擴(kuò)展就是解決此類(lèi)系統(tǒng)性能和可靠性問(wèn)題的常用方法,以提高業(yè)務(wù)效率和可靠性,從而獲得商業(yè)效益。
垂直擴(kuò)展
定義
垂直擴(kuò)展指的是通過(guò)升級(jí)單臺(tái)服務(wù)器的硬件配置來(lái)提高系統(tǒng)的處理能力和可靠性??梢栽黾臃?wù)器的內(nèi)存、CPU、帶寬等硬件資源,從而實(shí)現(xiàn)垂直擴(kuò)展。不需要變動(dòng)系統(tǒng)邏輯,引入額外依賴。
類(lèi)比:提高員工的工作能力,以提高效率。
優(yōu)點(diǎn)
主要是簡(jiǎn)單,復(fù)雜度低,易于維護(hù)。
缺點(diǎn)
一個(gè)人的能力再怎么厲害,也是有限的;一旦遇上生病、請(qǐng)假,業(yè)務(wù)就停轉(zhuǎn)了。
-
單臺(tái)服務(wù)器的性能和資源有天花板,無(wú)法無(wú)限制地進(jìn)行擴(kuò)展
-
升級(jí)硬件需要停機(jī)維護(hù),可能會(huì)影響系統(tǒng)的可用性
-
單點(diǎn)故障問(wèn)題
-
不夠靈活,無(wú)法根據(jù)業(yè)務(wù)需求動(dòng)態(tài)調(diào)整
思考
如果負(fù)載不斷增長(zhǎng),即使機(jī)器永不宕機(jī),此時(shí)通過(guò)升級(jí)硬件配置帶來(lái)的效果已經(jīng)跟不上了,該怎么辦?
水平擴(kuò)展
定義
水平擴(kuò)展(也叫橫向擴(kuò)展),指通過(guò)增加服務(wù)器數(shù)量(或者資源池中的節(jié)點(diǎn)數(shù)量)來(lái)提高系統(tǒng)的處理能力和可靠性??梢詫⒄?qǐng)求分發(fā)到多臺(tái)服務(wù)器上,以分?jǐn)倷C(jī)器負(fù)載,從而實(shí)現(xiàn)水平擴(kuò)展。
類(lèi)比:加人。三個(gè)臭皮匠,頂過(guò)一個(gè)諸葛亮。
優(yōu)點(diǎn)
-
通過(guò)增加服務(wù)器/節(jié)點(diǎn)數(shù)量來(lái)提高系統(tǒng)的并發(fā)處理能力,突破單點(diǎn)限制
-
無(wú)需停機(jī)維護(hù),絲滑升級(jí),系統(tǒng)可用性有保證
-
提供冗余節(jié)點(diǎn),即使單點(diǎn)故障也可以持續(xù)提供服務(wù),保證系統(tǒng)的可用性和穩(wěn)定性
-
靈活性高,可以根據(jù)業(yè)務(wù)需求動(dòng)態(tài)調(diào)整服務(wù)器數(shù)量以適應(yīng)業(yè)務(wù)
缺點(diǎn)
主要是起步成本高,且難以維護(hù),因?yàn)橐肓恕胺植际健薄?/p>
-
數(shù)據(jù)一致性:數(shù)據(jù)同步、分布式事務(wù)等
-
通信成本:機(jī)器間需要進(jìn)行網(wǎng)絡(luò)通信,可能會(huì)增加網(wǎng)絡(luò)延遲和帶寬成本
-
其他:容錯(cuò)、負(fù)載不均等
trade-off
在選擇水平擴(kuò)展和垂直擴(kuò)展方案時(shí),需要根據(jù)具體業(yè)務(wù)需求來(lái)進(jìn)行綜合考慮。
-
流量特點(diǎn):如果需要處理大量并發(fā)請(qǐng)求,可以選擇水平擴(kuò)展方案;如果需要提高單個(gè)請(qǐng)求的處理速度和穩(wěn)定性,可以選擇垂直擴(kuò)展方案。
-
計(jì)算特點(diǎn):水平擴(kuò)展通常用于處理不斷增加的流量或工作負(fù)載,而垂直擴(kuò)展通常用于處理需要更多處理能力的資源密集型任務(wù)或應(yīng)用程序。
-
長(zhǎng)遠(yuǎn)考慮:到目前為止,單個(gè)節(jié)點(diǎn)只能垂直擴(kuò)展,可能無(wú)法滿足未來(lái)的需求。而水平擴(kuò)展提供了擴(kuò)展的靈活性,可以通過(guò)添加更多機(jī)器來(lái)提高業(yè)務(wù)的性能上限。
-
成本考慮:水平升級(jí)具有更高的前期硬件支出。如果預(yù)算有限,并且需要快速且廉價(jià)地向基礎(chǔ)架構(gòu)添加更多容量,則垂直擴(kuò)展可能會(huì)更好。
-
可靠性:支持水平擴(kuò)展的系統(tǒng)會(huì)更可靠。它確保系統(tǒng)不依賴于單臺(tái)計(jì)算機(jī),并增加冗余。當(dāng)一臺(tái)機(jī)器發(fā)生故障時(shí),另一臺(tái)機(jī)器仍然可以提供服務(wù)。
-
發(fā)布要求:水平擴(kuò)展無(wú)需停機(jī),可以提供更連續(xù)絲滑的升級(jí)過(guò)程。
-
地理位置:如果業(yè)務(wù)擴(kuò)展到國(guó)際客戶,必須做水平擴(kuò)展。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-564727.html
思考
如何保證在水平擴(kuò)展后,請(qǐng)求可以被分發(fā)到盡可能合適的機(jī)器上,以提高系統(tǒng)的整體效率?文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-564727.html
到了這里,關(guān)于一文快速搞懂垂直擴(kuò)展與水平擴(kuò)展的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!