來源:大房子愛生活 發(fā)布時(shí)間:2019-04-26 15:25:40 閱讀量:1172
單體架構(gòu)
所謂的單體架構(gòu)就是把所有的業(yè)務(wù)模塊編寫在一個(gè)項(xiàng)目中,最終會(huì)打包成一個(gè)war包,然后進(jìn)行部署
單體架構(gòu)的優(yōu)點(diǎn):
部署簡(jiǎn)單:由于是完整的結(jié)構(gòu)體,可以直接部署在一份服務(wù)器上即可
技術(shù)單一:項(xiàng)目不需要復(fù)雜的技術(shù)棧,往往一套熟悉的技術(shù)棧就可以完成開發(fā)
用人成本低:?jiǎn)蝹€(gè)程序員可以完成業(yè)務(wù)接口道數(shù)據(jù)庫的整個(gè)流程
單體架構(gòu)的缺點(diǎn):
系統(tǒng)啟動(dòng)慢:一個(gè)進(jìn)程包含了所有的業(yè)務(wù)邏輯,涉及到的啟動(dòng)模塊過多,導(dǎo)致系統(tǒng)的啟動(dòng)時(shí)間周期過長
系統(tǒng)錯(cuò)誤隔離性差:可用性差,任何一個(gè)模塊的錯(cuò)誤均可能造成整個(gè)系統(tǒng)的宕機(jī)
可伸縮性差:系統(tǒng)的擴(kuò)容只能對(duì)這個(gè)應(yīng)用進(jìn)行擴(kuò)容,不能做到對(duì)莫謳歌功能點(diǎn)進(jìn)行擴(kuò)容
線上問題修復(fù)周期長:任何一個(gè)線上問題修復(fù)需要對(duì)整個(gè)應(yīng)用系統(tǒng)全面升級(jí)
微服務(wù)系統(tǒng)架構(gòu):
微服務(wù)架構(gòu)風(fēng)格是一種將一個(gè)單一應(yīng)用程序開發(fā)為一組小型服務(wù)的方法,每一個(gè)服務(wù)運(yùn)行在自己的進(jìn)程中,服務(wù)間通信采用的輕量級(jí)通信機(jī)制(通常用Http資源API),這些服務(wù)圍繞業(yè)務(wù)能力構(gòu)建并且可通過全自動(dòng)部署機(jī)制獨(dú)立部署,這些服務(wù)公用一個(gè)最小型的集中式的管理,服務(wù)可用不同的語言開發(fā),使用不同的數(shù)據(jù)存儲(chǔ)技術(shù)
微服務(wù)架構(gòu)的優(yōu)點(diǎn):
易于開發(fā)和維護(hù):一個(gè)微服務(wù)只會(huì)關(guān)注一個(gè)特定的業(yè)務(wù)功能,所以他的業(yè)務(wù)清晰,代碼量少,開發(fā)和維護(hù)單個(gè)微服務(wù)相當(dāng)簡(jiǎn)單,而整個(gè)應(yīng)用是若干個(gè)微服務(wù)構(gòu)建而成的,所以整個(gè)應(yīng)用也被維持在一個(gè)可控狀態(tài)
單個(gè)微服務(wù)啟動(dòng)較快:?jiǎn)蝹€(gè)微服務(wù)代碼量較少,所以啟動(dòng)會(huì)比較快
局部修改容易部署
技術(shù)棧不受限
按需收縮:可根據(jù)需求,實(shí)現(xiàn)細(xì)粒度的擴(kuò)展,例如:系統(tǒng)中的某個(gè)微服務(wù)遇到了瓶頸,可以結(jié)合這個(gè)微服務(wù)的業(yè)務(wù)特點(diǎn),增加內(nèi)存,升級(jí)CPU或者增加節(jié)點(diǎn)
可以承受高并發(fā)
微服務(wù)架構(gòu)的缺點(diǎn):
運(yùn)維要求較高:更多的服務(wù)意味著更多的運(yùn)維投入,在單體架構(gòu)中,只需要保證一個(gè)應(yīng)用的正常運(yùn)行,而在微服務(wù)中,需要保證幾十甚至幾百個(gè)服務(wù)正常運(yùn)行與協(xié)作,這給運(yùn)維帶來了很大的挑戰(zhàn)
分布式固有的復(fù)雜性:使用微服務(wù)構(gòu)建的是分布式系統(tǒng),對(duì)于一個(gè)分布式系統(tǒng),系統(tǒng)容錯(cuò),網(wǎng)絡(luò)延遲等都會(huì)帶來巨大的挑戰(zhàn)
接口調(diào)整成本高:微服務(wù)之間通過接口進(jìn)行通信,如果修改某一微服務(wù)API,肯呢個(gè)所有使用該接口的微服務(wù)都需要調(diào)整
在線
客服
服務(wù)時(shí)間:周一至周日 08:30-18:00
選擇下列產(chǎn)品馬上在線溝通:
客服
熱線
7*24小時(shí)客服服務(wù)熱線
關(guān)注
微信
關(guān)注官方微信