首頁技術(shù)文章正文

什么是SOA架構(gòu)?SOA架構(gòu)有哪些優(yōu)缺點(diǎn)?

更新時間:2022-12-22 來源:黑馬程序員 瀏覽量:

針對傳統(tǒng)的單體架構(gòu)存在的問題,后來出現(xiàn)了一種SOA架構(gòu)。

SOA架構(gòu)是一個面向服務(wù)的架構(gòu),它是一個組件模型。SOA架構(gòu)將應(yīng)用程序的不同功能單元(稱為服務(wù))進(jìn)行拆分,并通過在這些服務(wù)之間定義良好的接口和契約聯(lián)系起來。接口是采用中立的方式進(jìn)行定義的,它獨(dú)立于實現(xiàn)服務(wù)的硬件平臺、操作系統(tǒng)和編程語言。這使得構(gòu)建在各種各樣的系統(tǒng)中的服務(wù)可以使用一種統(tǒng)一和通用的方式進(jìn)行交互。

SOA架構(gòu)將原來的單體架構(gòu)按照功能細(xì)分為不同的子系統(tǒng),SOA架構(gòu)如下圖所示。

SOA架構(gòu)圖

SOA架構(gòu)圖

由上圖可知,一個完整的項目會分為多個模塊,并且數(shù)據(jù)庫也會有主庫與從庫兩種,并且主庫與從庫是數(shù)據(jù)同步的,這樣的SOA架構(gòu)解決了1.1.1小節(jié)中單體式架構(gòu)所遺留下的問題,但SOA本身也存在一些缺點(diǎn)。

SOA一般使用某種集中式管理,比如會有審查委員會、主架構(gòu)師或架構(gòu)委員會等部門來嚴(yán)格定義每個系統(tǒng)組件應(yīng)當(dāng)做什么,如何執(zhí)行,相同類型的功能可能會在多個組件中分別定義和記錄,每個組件使用的語言或者工具集可以是統(tǒng)一的,也可以不是。在SOA架構(gòu)中,系統(tǒng)和服務(wù)的界定比較模糊,而且服務(wù)的接口協(xié)議不固定,種類繁多,不利于系統(tǒng)維護(hù)。


分享到:
在線咨詢 我要報名
和我們在線交談!