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