SOA深刻解析

伴隨着互聯網及其應用的發展,電子商務成爲應用的主流特徵。服務模型給出了電子商務應用的基本構造單元的抽象;SOA以服務模型爲基礎,定義了部署服務和管理服務的統一機制;BFEL4WS給出了集成各類業務服務的機制。數據庫

SOA是什麼?SOA全英文是Service-Oriented Architecture,中文意思是中文面向服務編程,是一種思想,一種方法論,一種分佈式的服務架構(具體能夠百度)。編程

用途:SOA解決多服務凌亂問題,SOA架構解決數據服務的複雜程度,同時SOA又有一個名字,叫作服務治理。服務器

當咱們的項目比較小時,咱們只有一個系統,而且把他們寫到一塊兒,放在一個服務器上,可是隨着平臺愈來愈大,數據量愈來愈大,咱們不得不經過分庫,把多個模塊的數據庫分別放在對應得服務器上,每一個模塊調用本身的子系統便可。架構

着咱們系統的進一步複雜度的提示,咱們不得不進一步對系統的性能進行提高,咱們將多個模塊分紅多個子系統,多個子系統直接互相調用(由於SOA通常用於大型項目,比較複雜,因此通常總系統不會再集成,會拆分多個,分別作成服務,相互調用)。當咱們的電商UI進行一個下訂單的任務時,多個服務直接互相調用,系統經過數據總線,分別調用對於的子系統便可。
企業數據總線:企業數據總線不是對多個子模塊的集成,他在這裏充當數據通道的做用,數據總線不關心業務,數據總線根據給的地址和協議去調服務,上端不關心服務在哪裏是什麼,只找數據總線。
上面幾個圖應該算是比較清楚了,隨着業務的深刻,咱們不得不對系統進行調整,分別是對數據和業務的拆分,最後每一個子系統對面提供服務。
還要提的一點就是下面那個圖,下面的IP庫以及幾個子系統是公共服務,分別向上提供功能,也是SOA方法論的一部分。分佈式

2、SOA主要的使用場景,以下圖:性能

 

經過上面的圖咱們能夠看出,多個子系統直接相互交互,相互調用很是凌亂,這樣咱們就很不爽,因此咱們就用到了咱們的SOA架構,SOA又叫服務治理,SOA就是幫助咱們把服務之間調用的亂七八糟的關係給治理起來,而後提供一個統一的標準,把咱們的服務治理成下圖所示,之前咱們的服務是互相交互,如今是隻對數據總線進行交互,這樣系統就變得統一塊兒來。部署

統一標準:各系統的協議、地址、交互方式。
新的交互方式:各個系統分別根據統一標準向數據總線進行註冊,各子系統調用其餘子系統時,咱們並不關心若是找到其餘子系統,咱們只招數據總線,數據總線再根據統一標準找其餘子系統,因此數據總線在這裏充當一個只路人的做用。it

SOA的好處:電商

一、下降用戶成本,用戶不須要關心各服務之間是什麼語言的、不須要知道若是調用他們,只要經過統一標準找數據總線就能夠了。
二、程序之間關係服務簡單
三、識別哪些程序有問題(掛掉)
缺點:提示了系統的複雜程度,性能有相應影響。基礎

相關文章
相關標籤/搜索