目錄
1?單體應(yīng)用架構(gòu)
?2?垂直應(yīng)用架構(gòu)
3?分布式架構(gòu)
3.1 RPC
3.2 SOA
4 微服務(wù)架構(gòu)
本文介紹后臺應(yīng)用的各種架構(gòu),以及各架構(gòu)的優(yōu)缺點(diǎn)對比
1?單體應(yīng)用架構(gòu)
????????將所有的代碼功能都寫在一個項目中(例如:MVC結(jié)構(gòu),SSM框架),同時打包,同時部署
? ? ? ? ????????優(yōu)點(diǎn):便于管理,減少開發(fā)、維護(hù)、運(yùn)維成本
? ? ? ? ????????缺點(diǎn):一個小功能的修改就需要將整個項目重新打包部署、一個小bug的排查就需要對整個項目進(jìn)行排查
?2?垂直應(yīng)用架構(gòu)
? ? ? ? 根據(jù)業(yè)務(wù)把一個項目切分成互不相干的多個項目(注冊登錄系統(tǒng),訂單管理系統(tǒng),積分系統(tǒng)...)
? ? ? ? ? ? ? ? 優(yōu)點(diǎn):業(yè)務(wù)相互獨(dú)立,一個業(yè)務(wù)故障,其它業(yè)務(wù)不受影響;? 對訪問量大的業(yè)務(wù)模塊可以增加多個服務(wù)器支持
? ? ? ? ? ? ? ? 缺點(diǎn):系統(tǒng)之間相互獨(dú)立,系統(tǒng)與系統(tǒng)之間無法調(diào)用;? 多個系統(tǒng)之間存在重復(fù)開發(fā)的問題
3?分布式架構(gòu)
? ? ? ? 將一個系統(tǒng)拆分成多個獨(dú)立的子系統(tǒng),和"垂直架構(gòu)"不同的是,分布式架構(gòu)還可以將重復(fù)的業(yè)務(wù)代碼抽取出來作為一個獨(dú)立的子系統(tǒng),并且各個子系統(tǒng)之間是可以相互調(diào)用的
3.1 RPC
? ? ? ? RPC(Remote Procedure Call遠(yuǎn)程過程調(diào)用),多個子系統(tǒng)被部署在不同的服務(wù)器上,由于子系統(tǒng)之間不在同一個內(nèi)存空間,因此各子系統(tǒng)不能直接相互調(diào)用,需要通過遠(yuǎn)程服務(wù)(例:dubbo,http等)調(diào)用
? ? ? ? 缺點(diǎn):各種分布式問題(分布式緩存(redis解決),分布式鎖(redis或zookeeper解決),分布式事務(wù)(redis解決));? 系統(tǒng)間耦合度提高,調(diào)用關(guān)系錯綜復(fù)雜
? ? ? ? 優(yōu)點(diǎn):抽取公共代碼,避免重復(fù)開發(fā);? 可以單獨(dú)對訪問量大的子系統(tǒng)增加服務(wù)器節(jié)點(diǎn)
3.2 SOA
? ? ? ? SOA(Service-Oriented Architecture面向服務(wù)架構(gòu)),把一個個業(yè)務(wù)功能封裝成標(biāo)準(zhǔn)化的服務(wù),服務(wù)之間通過精確定義的接口進(jìn)行通訊,SOA架構(gòu)有3種實體:ServiceProvider(服務(wù)提供者)、serviceRequester(服務(wù)請求者)、ServiceRegister(服務(wù)注冊中心),服務(wù)提供者和服務(wù)請求者是完全解耦的,并且都需要在服務(wù)注冊中心注冊,
? ? ? ? 缺點(diǎn):在服務(wù)調(diào)用過程中增加了額外的中間組件,降低了服務(wù)的響應(yīng)時間和性能;? 架構(gòu)搭建復(fù)雜,適合中大型的項目
? ? ? ? 優(yōu)點(diǎn):理論上SOA架構(gòu)擁有無限的服務(wù)擴(kuò)展性,任何新的服務(wù)都可以以注冊的形式新增到整個系統(tǒng)中;? 服務(wù)之間輕耦合
4 微服務(wù)架構(gòu)
? ? ? ? 微服務(wù)架構(gòu)是對SOA架構(gòu)的擴(kuò)展,服務(wù)拆分更細(xì)致化
? ? ? ? 缺點(diǎn):架構(gòu)復(fù)雜,開發(fā)成本高
? ? ? ? 優(yōu)點(diǎn):獨(dú)立打包、部署、升級;? 微服務(wù)之間采用輕量級的http協(xié)議(Restful,dubbo,feign等)相互調(diào)用文章來源:http://www.zghlxwxcb.cn/news/detail-644530.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-644530.html
到了這里,關(guān)于項目架構(gòu)簡介的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!