構建dubbo分散式平臺-dubbo簡介
1. Dubbo是什麼?
Dubbo是一個分散式服務框架,致力於提供高效能和透明化的RPC遠端服務呼叫方案,以及SOA服務治理方案。簡單的說,dubbo就是個服務框架,如果沒有分散式的需求,其實是不需要用的,只有在分散式的時候,才有dubbo這樣的分散式服務框架的需求,並且本質上是個服務呼叫,說白了就是個遠端服務呼叫的分散式框架(告別Web Service模式中的WSDL,以服務者與消費者的方式在dubbo上註冊)。
其核心部分包含:
1. 遠端通訊: 提供對多種基於長連線的NIO框架抽象封裝,包括多種執行緒模型,序列化,以及“請求-響應”模式的資訊交換方式。
2. 叢集容錯: 提供基於介面方法的透明遠端過程呼叫,包括多協議支援,以及軟負載均衡,失敗容錯,地址路由,動態配置等叢集支援。
3. 自動發現: 基於註冊中心目錄服務,使服務消費方能動態的查詢服務提供方,使地址透明,使服務提供方可以平滑增加或減少機器。
2. dubbo能做什麼?
1.透明化的遠端方法呼叫,就像呼叫本地方法一樣呼叫遠端方法,只需簡單配置,沒有任何API侵入。
2.軟負載均衡及容錯機制,可在內網替代F5等硬體負載均衡器,降低成本,減少單點。
3. 服務自動註冊與發現,不再需要寫死服務提供方地址,註冊中心基於介面名查詢服務提供者的IP地址,並且能夠平滑新增或刪除服務提供者。
Dubbo採用全Spring配置方式,透明化接入應用,對應用沒有任何API侵入,只需用Spring載入Dubbo的配置即可,Dubbo基於Spring的Schema擴充套件進行載入。
3. dubbo的架構
dubbo架構圖如下:
節點角色說明:
Provider: 暴露服務的服務提供方。
Consumer: 呼叫遠端服務的服務消費方。
Registry: 服務註冊與發現的註冊中心。
Monitor: 統計服務的呼叫次調和呼叫時間的監控中心。
Container: 服務執行容器。
呼叫關係說明:
0 服務容器負責啟動,載入,執行服務提供者。
1. 服務提供者在啟動時,向註冊中心註冊自己提供的服務。
2. 服務消費者在啟動時,向註冊中心訂閱自己所需的服務。
3. 註冊中心返回服務提供者地址列表給消費者,如果有變更,註冊中心將基於長連線推送變更資料給消費者。
4. 服務消費者,從提供者地址列表中,基於軟負載均衡演算法,選一臺提供者進行呼叫,如果呼叫失敗,再選另一臺呼叫。
5. 服務消費者和提供者,在記憶體中累計呼叫次數和呼叫時間,定時每分鐘傳送一次統計資料到監控中心。
dubbo的容錯性顯而易見,效能方面還沒有還得及測,我們系統某頁面需要掉5次介面,本來想建議做個快取,但業務關係不能採納,還需要研究下dubbo的效能調優問題
4. dubbo使用方法
Dubbo採用全Spring配置方式,透明化接入應用,對應用沒有任何API侵入,只需用Spring載入Dubbo的配置即可,Dubbo基於Spring的Schema擴充套件進行載入。如果不想使用Spring配置,而希望透過API的方式進行呼叫(不推薦),後面的章節中我們會逐步剖析dubbo的使用!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31539957/viewspace-2168604/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- (十一) 構建dubbo分散式平臺-dubbo簡介分散式
- (一)構建dubbo分散式平臺-平臺導語簡介分散式
- (十五) 構建dubbo分散式平臺-window安裝dubbo管控臺分散式
- (十三) 構建dubbo分散式平臺-dubbo管控檯安裝分散式
- (二)構建dubbo分散式平臺-平臺功能導圖分散式
- 構建dubbo分散式平臺-maven構建根專案分散式Maven
- 構建springmvc+dubbo分散式平臺-dubbo管控檯安裝SpringMVC分散式
- (四)構建dubbo分散式平臺-maven程式碼結構分散式Maven
- 構建dubbo分散式平臺-window安裝zookeeper註冊中心分散式
- (十二) 構建dubbo分散式平臺-zookeeper註冊中心安裝分散式
- (十) 構建dubbo分散式平臺-maven構建ant-utils工具專案分散式Maven
- 構建dubbo分散式平臺-maven模組規劃和平臺功能導圖分散式Maven
- (一)springmvc+mybatis+dubbo+zookeeper分散式架構 整合 - 平臺導語簡介SpringMVCMyBatis分散式架構
- 構建dubbo分散式平臺-maven構建ant-framework核心程式碼Base封裝分散式MavenFramework封裝
- (九) 構建dubbo分散式平臺-maven構建ant-framework核心程式碼Base封裝分散式MavenFramework封裝
- 構建springmvc+myabtis+dubbo分散式平臺-zookeeper註冊中心安裝SpringMVC分散式
- 構建dubbo分散式平臺-maven構建ant-framework框架的pom.xml檔案配置分散式MavenFramework框架XML
- (七) 構建dubbo分散式平臺-maven構建ant-framework框架的pom.xml檔案配置分散式MavenFramework框架XML
- Dubbo 簡介
- [分散式][Dubbo]Dubbo常見問題分散式
- 基於 dubbo 的分散式架構分散式架構
- (二)springmvc+mybatis+dubbo+zookeeper分散式架構 整合 - 平臺功能導圖SpringMVCMyBatis分散式架構
- 分散式|Dubbo架構設計詳解分散式架構
- SSM(十一) 基於 dubbo 的分散式架構SSM分散式架構
- springmvc+mybatis+dubbo+zookeeper分散式架構SpringMVCMyBatis分散式架構
- 分散式框架Dubbo入門分散式框架
- mybatis+dubbo+ springmvc+zookeeper分散式架構MyBatisSpringMVC分散式架構
- java分散式服務框架Dubbo的介紹與使用Java分散式框架
- [分散式]--Dubbo分散式服務框架-服務治理分散式框架
- 探索分散式服務框架Dubbo3:為何選擇Dubbo分散式框架
- JEESZ架構、分散式服務:Dubbo+Zookeeper+Proxy+Restful架構分散式REST
- 阿里分散式服務框架Dubbo的架構總結阿里分散式框架架構
- 分散式服務Dubbo的前世今生分散式
- J2EE分散式架構 dubbo+springmvc+mybatis+ehcache+redis分散式架構分散式架構SpringMVCMyBatisRedis
- Dubbo+Zookeeper(二)Dubbo架構架構
- springmvc+mybatis+restful+shiro+Dubbo+webservice 分散式架構SpringMVCMyBatisRESTWeb分散式架構
- 2、Spring Cloud和dubbo簡介SpringCloud
- 跟我學習dubbo-簡介(1)