1. 程式人生 > >分散式系統架構---SOA服務體系架構

分散式系統架構---SOA服務體系架構

一、 概述:

把系統按照模組拆分成多個子系統---面向服務的體系結構(SOA,即將整個功能模組拆分成不同的服務單元)。

優點:

1、把模組拆分,使用介面通訊,降低模組之間的耦合度。

2、把專案拆分成若干個子專案,不同的團隊負責不同的子專案。

3、增加功能時只需要再增加一個子專案,呼叫其他系統的介面就可以。

4、可以靈活的進行分散式部署。

缺點:

系統之間互動需要使用遠端通訊(dubbo),介面開發增加工作量。

二、不同規模的網站架構

1、單一應用架構

當網站流量很小時,只需一個應用,將所有功能都部署在一起,以減少部署節點和成本。

此時,用於簡化增刪改查工作量的 資料訪問框架(ORM) 是關鍵。

2、垂直應用架構

當訪問量逐漸增大,單一應用增加機器帶來的加速度越來越小,將應用拆成互不相干的幾個應用,以提升效率。

此時,用於加速前端頁面開發的 Web框架(MVC) 是關鍵。

3、分散式服務架構

當垂直應用越來越多,應用之間互動不可避免,將核心業務抽取出來,作為獨立的服務,逐漸形成穩定的服務中心,使前端應用能更快速的響應多變的市場需求。

此時,用於提高業務複用及整合的 分散式服務框架(RPC) 是關鍵。

4、流動計算架構

當服務越來越多,容量的評估,小服務資源的浪費等問題逐漸顯現,此時需增加一個排程中心基於訪問壓力實時管理叢集容量,提高叢集利用率。

此時,用於提高機器利用率的 資源排程和治理中心(SOA) 是關鍵

二、 dubbo服務中介軟體

Dubbo是阿里巴巴公司開源的一個高效能優秀的服務框架,使得應用可通過高效能的 RPC 實現服務的輸出和輸入功能,可以和Spring框架無縫整合。

1、 provider:服務提供方:將介面地址暴露到註冊中上。

2、 consumer:服務消費方:首先需要去監聽註冊中心,如果註冊中心上有服務消費方需要的服務,那麼就可以直接去呼叫。

3、 registry:註冊中心:容器(存放介面訊息)。在dubbo中,可以作為註冊中心:redis、multicast、zookeeper。管理服務。

4、 continaer:容器(服務執行的容器):Tomcat

5、 monitor:監控(軟體)

三、ZooKeeper

是一個分散式的,開放原始碼的分散式應用程式協調服務,它是一個為分散式應用提供一致性服務的軟體,提供的功能包括:配置維護、域名服務、分散式同步、組服務等。ZooKeeper的目標就是封裝好複雜易出錯的關鍵服務,將簡單易用的介面和效能高效、功能穩定的系統提供給使用者。