更新時(shí)間:2020年10月23日18時(shí)25分 來源:傳智播客 瀏覽次數(shù):
針對傳統(tǒng)的單體架構(gòu)存在的問題,后來出現(xiàn)了一種SOA架構(gòu)。
SOA架構(gòu)是一個(gè)面向服務(wù)的架構(gòu),它是一個(gè)組件模型。SOA架構(gòu)將應(yīng)用程序的不同功能單元(稱為服務(wù))進(jìn)行拆分,并通過在這些服務(wù)之間定義良好的接口和契約聯(lián)系起來。接口是采用中立的方式進(jìn)行定義的,它獨(dú)立于實(shí)現(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)圖
由上圖可知,一個(gè)完整的項(xiàng)目會分為多個(gè)模塊,并且數(shù)據(jù)庫也會有主庫與從庫兩種,并且主庫與從庫是數(shù)據(jù)同步的,這樣的SOA架構(gòu)解決了1.1.1小節(jié)中單體式架構(gòu)所遺留下的問題,但SOA本身也存在一些缺點(diǎn)。
SOA一般使用某種集中式管理,比如會有審查委員會、主架構(gòu)師或架構(gòu)委員會等部門來嚴(yán)格定義每個(gè)系統(tǒng)組件應(yīng)當(dāng)做什么,如何執(zhí)行,相同類型的功能可能會在多個(gè)組件中分別定義和記錄,每個(gè)組件使用的語言或者工具集可以是統(tǒng)一的,也可以不是。在SOA架構(gòu)中,系統(tǒng)和服務(wù)的界定比較模糊,而且服務(wù)的接口協(xié)議不固定,種類繁多,不利于系統(tǒng)維護(hù)。
猜你喜歡:
北京校區(qū)