焦點(diǎn)速遞!淺談一下單體架構(gòu)的缺點(diǎn)是什么
2023-04-26 06:10:23 來源:腳本之家 小 中
隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,傳統(tǒng)的應(yīng)用架構(gòu)已滿足不了實(shí)際需求,微服務(wù)架構(gòu)就隨之產(chǎn)生。那么傳統(tǒng)應(yīng)用架構(gòu)到底出了什么問題呢?又如何解決?接下來我們將從傳統(tǒng)單體架構(gòu)的問題開始,對為什么需要微服務(wù)架構(gòu)進(jìn)行詳細(xì)講解。
傳統(tǒng)單體應(yīng)用架構(gòu)的問題
通常我們所使用的傳統(tǒng)單體應(yīng)用架構(gòu)都是模塊化的設(shè)計(jì)邏輯,程序在編寫完成后會(huì)被打包并部署為一個(gè)具體的應(yīng)用,而應(yīng)用的格式則依賴于相應(yīng)的應(yīng)用語言和框架。
例如,在網(wǎng)上商城系統(tǒng)中,JavaWeb工程通常會(huì)被打成WA R包部署在Web服務(wù)器上,而普通Java工程會(huì)以JAR包的形式包含在WA R包中,如圖1-1所示。
(資料圖)
早期單體架構(gòu)圖
上圖中的這種應(yīng)用開發(fā)風(fēng)格很常見,它易于開發(fā)和調(diào)試,并且易于部署。在用戶量不多時(shí),此種架構(gòu)方式完全可以滿足需求,但隨著用戶人數(shù)的增加,一臺(tái)機(jī)器已經(jīng)滿足不了系統(tǒng)的負(fù)載,此時(shí)我們就會(huì)考慮系統(tǒng)的水平擴(kuò)展。通常情況下,我們只需要增加服務(wù)器的數(shù)量,并將打包好的應(yīng)用拷貝到不同服務(wù)器(如Tomcat),然后通過負(fù)載均衡器(如Apache、Nginx)就可以輕松實(shí)現(xiàn)應(yīng)用的水平擴(kuò)展,如圖所示。
在早期,單體架構(gòu)的這種擴(kuò)展方式可以很好的滿足使用需求,但隨著時(shí)間的推移,這種方式就會(huì)產(chǎn)生很多問題,具體表現(xiàn)如下:
1.應(yīng)用復(fù)雜度增加,更新、維護(hù)困難
一個(gè)簡單的應(yīng)用會(huì)隨著時(shí)間的推移而逐漸變大。一旦應(yīng)用變的龐大而又復(fù)雜,那么開發(fā)團(tuán)隊(duì)將會(huì)面臨很多問題,其中最主要問題就是這個(gè)應(yīng)用太復(fù)雜,以至于任何單個(gè)開發(fā)者都很難進(jìn)行二次開發(fā)或維護(hù)。
2.易造成系統(tǒng)資源浪費(fèi)
雖然使用負(fù)載均衡的方式可以對項(xiàng)目中的服務(wù)容量進(jìn)行水平擴(kuò)展,但由于傳統(tǒng)單體架構(gòu)的代碼中只有一個(gè)包含所有功能的WA R包,所以在對服務(wù)容量擴(kuò)容時(shí),只能選擇重復(fù)的部署這個(gè)WA R包來擴(kuò)展服務(wù)能力,而不僅僅是擴(kuò)展了所需的服務(wù)。這樣導(dǎo)致其他不需要擴(kuò)展的服務(wù)也進(jìn)行了相應(yīng)的擴(kuò)展,但這種擴(kuò)展是不需要的,因此這種方式會(huì)極大的浪費(fèi)資源。
3.影響開發(fā)效率
當(dāng)一個(gè)應(yīng)用越大時(shí),啟動(dòng)時(shí)間就會(huì)越長。開發(fā)和調(diào)試的過程中,如果有很大一部分時(shí)間都要在等待中渡過,那么必然會(huì)對開發(fā)效率有極大的影響。
4.應(yīng)用可靠性低
傳統(tǒng)單體應(yīng)用架構(gòu)在運(yùn)行時(shí)的可靠性比較低,當(dāng)所有模塊都運(yùn)行在一個(gè)進(jìn)程中時(shí),如果任何一個(gè)模塊中出現(xiàn)了一個(gè)Bug,可能會(huì)導(dǎo)致整個(gè)進(jìn)程崩潰,從而影響到整個(gè)應(yīng)用。
5.不利于技術(shù)的更新
傳統(tǒng)單體應(yīng)用架構(gòu)一旦選定使用某些技術(shù),則后期的開發(fā)和擴(kuò)展將在這些技術(shù)的基礎(chǔ)上實(shí)現(xiàn)。如果需要更改某種技術(shù),則可能需要將整個(gè)應(yīng)用全部重新開發(fā),這種成本是非常大的。當(dāng)然,傳統(tǒng)單體應(yīng)用架構(gòu)的問題還不只這些,但出現(xiàn)這些問題的根本原因可以說就是由于傳統(tǒng)單體架構(gòu)中一個(gè)WA R包內(nèi)包含了系統(tǒng)的所有服務(wù)功能所導(dǎo)致的。隨著業(yè)務(wù)變的越來越多,問題也就越來越多。
如何解決傳統(tǒng)應(yīng)用架構(gòu)的問題
針對傳統(tǒng)單體架構(gòu)的問題,大部分企業(yè)通過SOA(Service-Oriented Architecture,面向服務(wù)的架構(gòu))來解決上述問題。
SOA的思路是把應(yīng)用中相近的功能聚合到一起,以服務(wù)的形式提供出去,因此基于SOA架構(gòu)的應(yīng)用可以理解為一批服務(wù)的組合。
同樣以網(wǎng)上商城為例,一個(gè)簡單的SOA系統(tǒng)如圖1-3所示。
SOA系統(tǒng)
從上圖可以看出,SOA將原來的單體架構(gòu)按照功能細(xì)分為不同的子系統(tǒng),然后再由各個(gè)子系統(tǒng)依賴服務(wù)中間件(這里指企業(yè)服務(wù)總線Enterprise Service Bus,簡稱ESB)來調(diào)用所需服務(wù)。
使用SOA可以將系統(tǒng)切分成多個(gè)組件服務(wù),這種通過多個(gè)組件服務(wù)來完成請求的方式有很多好處,具體如下:
l把項(xiàng)目拆分成若干個(gè)子項(xiàng)目,不同的團(tuán)隊(duì)可以負(fù)責(zé)不同的子項(xiàng)目,從而提高開發(fā)效率;
l把模塊拆分,使用接口通信,降低了模塊之間的耦合度;
l為企業(yè)的現(xiàn)有資源帶來了更好的重用性;l能夠在最新的和現(xiàn)有的應(yīng)用之上創(chuàng)建應(yīng)用;
l能夠使客戶或服務(wù)消費(fèi)者免予服務(wù)實(shí)現(xiàn)的改變所帶來的影響;
l能夠升級單個(gè)服務(wù)或服務(wù)消費(fèi)者而無需重寫整個(gè)應(yīng)用,也無需保留已經(jīng)不再適用于新需求的現(xiàn)有系統(tǒng)。
雖然使用SOA解決了單體架構(gòu)中的問題,但多數(shù)情況下,SOA中相互獨(dú)立的服務(wù)仍然會(huì)部署在同一個(gè)運(yùn)行環(huán)境中(類似于一個(gè)Tomcat實(shí)例下,運(yùn)行了很多web應(yīng)用)。和單體架構(gòu)類似,隨著業(yè)務(wù)功能的增多,SOA的服務(wù)會(huì)變得越來越復(fù)雜。本質(zhì)上看,單體架構(gòu)的問題并沒有因?yàn)槭褂肧OA而變的更好。
針對單體架構(gòu)和SOA的問題,許多公司(如Amazon、eBay和NetFlix)通過采用微處理結(jié)構(gòu)模式解決了系統(tǒng)架構(gòu)中的問題。其思路不是開發(fā)一個(gè)巨大的單體式的應(yīng)用,而是將應(yīng)用分解為小的、互相連接的微服務(wù)。隨著微服務(wù)的使用,微服務(wù)架構(gòu)的思想也隨之產(chǎn)生。
到此這篇關(guān)于淺談一下單體架構(gòu)的缺點(diǎn)是什么的文章就介紹到這了,更多相關(guān)單體架構(gòu)的缺點(diǎn)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
關(guān)鍵詞:
相關(guān)文章
- 焦點(diǎn)速遞!淺談一下單體架構(gòu)的缺點(diǎn)是什么
- 吞噬星空第三季大結(jié)局曝光,羅峰動(dòng)用兩秘法五強(qiáng)者,遮天確定接檔_微速訊
- 星網(wǎng)銳捷(002396):4月25日北向資金減持25.49萬股
- 四個(gè)水念什么視頻_四個(gè)水念什么
- 陽光醫(yī)療2022年凈利520.71萬同比扭虧為盈 子公司博奧基因核酸檢測類產(chǎn)品毛利率高
- 深空探測實(shí)驗(yàn)室文昌基地簽約落地_天天動(dòng)態(tài)
- 圓通速遞(600233):4月25日北向資金增持54.3萬股
- 道瓊斯指數(shù)是什么時(shí)候開始的 道瓊斯指數(shù)是什么-聚看點(diǎn)
- 給中國首座百萬千瓦級水電廠的“心臟”當(dāng)醫(yī)生是什么樣的體驗(yàn)?
- 當(dāng)年水變油騙局官媒報(bào)道_水變油騙局原理
- 全球今日訊!曇花什么時(shí)候開花什么時(shí)候凋謝_曇花什么時(shí)候開花
- 焦點(diǎn)熱訊:劉季是劉邦嗎_劉季是不是劉邦解釋
- 三體人是被誰毀滅的_三體人最后滅亡了嗎_每日訊息
- cdna文庫的構(gòu)建_cdna是什么
- 熱點(diǎn)!必聯(lián)BL-UM03A
- *ST騰信:延期披露2022年年度報(bào)告及2023年第一季度報(bào)告
- 無越級不發(fā)布!真我第三款越級新機(jī)來了,小米迎來攔路虎?_觀熱點(diǎn)
- 4月25日原油價(jià)格晚間交易提醒
- 鋰價(jià)走低回報(bào)周期縮短,今年或成工商業(yè)儲(chǔ)能爆發(fā)“元年”_速讀
- 特斯拉Model Y基本款比美國新車平均售價(jià)還便宜-世界觀速訊
- 北京口岸五一假期預(yù)計(jì)出入境旅客量超13萬人次
- 世界播報(bào):我國研究團(tuán)隊(duì)揭示中藥復(fù)方治療新冠整體調(diào)節(jié)作用機(jī)理
- 極致撕裂的行情:機(jī)構(gòu)調(diào)倉的腥風(fēng)血雨,可能遠(yuǎn)遠(yuǎn)沒有結(jié)束
- 和章盟主又差了2個(gè)億!!-世界百事通
- 全球快看:新能源大調(diào)整的病根在政策刺激導(dǎo)致的扭曲
- 美國長灘市立法要求海運(yùn)進(jìn)口商到2030年使用零排放船舶
- 長寧這項(xiàng)在全市率先推出的服務(wù),成為居民的“好幫手”!
- 今頭條!frog是什么意思中文翻譯_frog是什么意思
- 得力打卡機(jī)怎么錄指紋和人臉識(shí)別_得力打卡機(jī)怎么錄指紋
- 天天要聞:博倩是哪個(gè)國家的品牌_什么檔次怎么樣
熱文推薦
排行推薦
陽光醫(yī)療2022年凈利520.71萬同比扭虧為盈 子公司博奧基因核酸檢測類產(chǎn)品毛利率高
深空探測實(shí)驗(yàn)室文昌基地簽約落地_天天動(dòng)態(tài)
圓通速遞(600233):4月25日北向資金增持54.3萬股
道瓊斯指數(shù)是什么時(shí)候開始的 道瓊斯指數(shù)是什么-聚看點(diǎn)
軟通動(dòng)力(301236.SZ)擬推第一期限制性股票激勵(lì)計(jì)劃
今頭條!頭部私募對AI的態(tài)度正顯現(xiàn)分歧
天天微速訊:妙可藍(lán)多:一季度凈利同比降67.08%
【全球播資訊】振德醫(yī)療:一季度凈利同比增30.92%
?歐晶科技:目前石英坩堝價(jià)格處于上升趨勢 供應(yīng)緊張_每日消息
通合科技:擬定增募資不超6.2億元 用于高功率充電模塊產(chǎn)業(yè)化建設(shè)項(xiàng)目等
天天視訊!中科信息:公司研發(fā)的技術(shù)與產(chǎn)品與當(dāng)前的通用大模型、ChatGpt不存在相關(guān)性
今日熱門!園城黃金:年報(bào)披露后可能會(huì)被實(shí)施退市風(fēng)險(xiǎn)警示
關(guān)注:看來準(zhǔn)備收房產(chǎn)稅了
科大訊飛的兩大長期核心價(jià)值,務(wù)必重新認(rèn)識(shí)|全球頭條
差點(diǎn)錯(cuò)過曙光數(shù)創(chuàng)!



