溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

單體架構(gòu)知識(shí)點(diǎn)及單體架構(gòu)的缺陷

發(fā)布時(shí)間:2020-08-12 00:03:36 來源:ITPUB博客 閱讀:204 作者:奈學(xué)教育 欄目:軟件技術(shù)

什么是單體架構(gòu)

一個(gè)歸檔包(例如war格式或者Jar格式)包含了應(yīng)用所有功能的應(yīng)用程序,我們通常稱之為單體應(yīng)用。架構(gòu)單體應(yīng)用的方法論,我們稱之為單體應(yīng)用架構(gòu),這是一種比較傳統(tǒng)的架構(gòu)風(fēng)格。

單體架構(gòu)示例圖

-     單體架構(gòu)的缺陷     -
1.復(fù)雜性高 整個(gè)項(xiàng)目包含的模塊非常多,模塊的邊界模糊,依賴關(guān)系不清晰,代碼質(zhì)量參差不齊,整個(gè)項(xiàng)目非常復(fù)雜。每次修改代碼都心驚膽戰(zhàn),甚至添加一個(gè)簡(jiǎn)單的功能,或者修改一個(gè)BUG都會(huì)造成隱含的缺陷。
2.技術(shù)債務(wù)逐漸上升 隨著時(shí)間推移、需求變更和人員更迭,會(huì)逐漸形成應(yīng)用程序的技術(shù)債務(wù),并且越積越多。已使用的系統(tǒng)設(shè)計(jì)或代碼難以修改,因?yàn)閼?yīng)用程序的其他模塊可能會(huì)以意料之外的方式使用它。
3.部署速度逐漸變慢 隨著代碼的增加,構(gòu)建和部署的時(shí)間也會(huì)增加。而在單體應(yīng)用中,每次功能的變更或缺陷的修復(fù)都會(huì)導(dǎo)致我們需要重新部署整個(gè)應(yīng)用。全量部署的方式耗時(shí)長、影響范圍大、風(fēng)險(xiǎn)高,這使得單體應(yīng)用項(xiàng)目上線部署的頻率較低,從而又導(dǎo)致兩次發(fā)布之間會(huì)有大量功能變更和缺陷修復(fù),出錯(cuò)概率較高。
4.擴(kuò)展能力受限,無法按需伸縮 單體應(yīng)用只能作為一個(gè)整體進(jìn)行擴(kuò)展,無法結(jié)合業(yè)務(wù)模塊的特點(diǎn)進(jìn)行伸縮。

5.阻礙技術(shù)創(chuàng)新 單體應(yīng)用往往使用統(tǒng)一的技術(shù)平臺(tái)或方案解決所有問題,團(tuán)隊(duì)的每個(gè)成員都必須使用相同的開發(fā)語言和架構(gòu),想要引入新的框架或技術(shù)平臺(tái)非常困難。由于單體架構(gòu)的缺陷日益明顯,所以越來越多的公司采用微服務(wù)架構(gòu)解決上面提到的單體架構(gòu)中的問題。不同于構(gòu)建單一、龐大的應(yīng)用,微服務(wù)架構(gòu)將應(yīng)用拆分為一套小且互相關(guān)聯(lián)的服務(wù)。

本文來源于:奈學(xué)開發(fā)者社區(qū),如有侵權(quán),請(qǐng)聯(lián)系我刪除~

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI