Dubbo實現分佈式架構原理

       Dubbo框架是阿里巴巴開發的一款針對soa服務式的分佈式框架。隨着項目業務邏輯複雜度的提高,項目併發量的提高,將dao層、service層、web層的所有代碼集中在一個應用中已經不再適用,因爲這樣項目維護起來很不便,代碼冗雜在一起,項目之間的調用早已經含糊不清,對搭建集羣節點也存在着制約性,分佈式項目架構勢在必行。Dubbo實現分佈式框架的重點在於連接服務層和表現層的橋樑,將服務層和表現層隔離開來,這樣以來不僅可提高代碼的複用性,也使項目的結構更加的清新,更是可以提高併發量。Spring容器能夠很好的管理dubbo框架,容器中只需要配置下相關服務的接口即可,表現層可以根據容器中暴露出的接口訪問相關的service提供的服務。

      下面是dubbo框架的執行原理圖:



其中Provider爲服務提供方,Registry爲註冊中心,一般是Zookeeper來管理,接收來自提供方的ip和端口號,統一來管理服務,cosume來進行查詢調用服務時,registry會將服務的id和端口號給cosume,當不存在需要的服務式,將會拋出異常。Cosume拿到自己需要服務的id和端口號後,直接和provider進行通信。這樣整個服務框架就由Dubbo來進行統一的治理,而且dubbo分佈式框架可配置搭載上萬臺服務器,對於高併發起到了至關重要的作用。