dubbox 是乙個分布式服務框架,致力於提供高效能和透明化的rpc遠端服務呼叫方案,以及soa服務治理方案。其前身是阿里巴巴開源專案dubbo ,後期當當網便在dubbo基礎上進行優化,並繼續維護,為了與原有的dubbo區分,故將其命名dubbox。兩者是一樣的。
簡單的說,dubbox就是個遠端服務呼叫的分布式框架,如果沒有分布式的需求,其實是不需要用的。
(1)節點角色說明:
1) provider: 暴露服務的服務提供方。
2)consumer: 呼叫遠端服務的服務消費方。
3)registry: 服務註冊與發現的註冊中心。(註冊中心是乙個軟體,推薦用zookeeper)
4)monitor: 統計服務的呼叫次調和呼叫時間的監控中心。
5)container: 服務執行容器。
(2)呼叫關係說明:
1)服務容器負責啟動,載入,執行服務提供者。
2) 服務提供者在啟動時,向註冊中心註冊自己提供的服務。
3)服務消費者在啟動時,向註冊中心訂閱自己所需的服務。
4)註冊中心返回服務提供者位址列表給消費者,如果有變更,註冊中心將基於長連 接推送變更資料給消費者。
5)服務消費者,從提供者位址列表中,基於軟負載均衡演算法,選一台提供者進行調 用,如果呼叫失敗,再選另一台呼叫。
6)服務消費者和提供者,在記憶體中累計呼叫次數和呼叫時間,定時每分鐘傳送一次 統計資料到監控中心。
實現web端與服務端之間的分離
1、遠端通訊: 提供對多種基於長連線的nio框架抽象封裝,包括多種執行緒模型,序列化,以及「請求-響應」模式的資訊交換方式。
2、集群容錯: 提供基於介面方法的透明遠端過程呼叫,包括多協議支援,以及軟負載均衡,失敗容錯,位址路由,動態配置等集
群支援。
3、自動發現: 基於註冊中心目錄服務,使服務消費方能動態的查詢服務提供方,使位址透明,使服務提供方可以平滑增加或減少
機器。1)透明化的遠端方法呼叫,就像呼叫本地方法一樣呼叫遠端方法,只需簡單配置,沒有任何api侵入。
2)軟負載均衡及容錯機制,可在內網替代f5等硬體負載均衡器,降低成本,減少單點。
3)服務自動註冊與發現,不再需要寫死服務提供方位址,註冊中心基於介面名查詢服務提供者的ip位址,並且能夠平滑新增或 刪除服務提供者。
注意:dubbo採用全spring配置方式,透明化接入應用,對應用沒有任何api侵入,只需用spring載入dubbo的配置即可,dubbo基於spring的schema擴充套件進行載入。
dubbo基礎學習
dubbo是乙個分布式服務框架,致力於提供高效能和透明化的rpc遠端服務呼叫方案,以及soa服務治理方案。其核心部分包含 遠端通訊 提供對多種基於長連線的nio框架抽象封裝,包括多種執行緒模型,序列化,以及 請求 響應 模式的資訊交換方式。集群容錯 提供基於介面方法的透明遠端過程呼叫,包括多協議支援...
DUBBO學習筆記
1 該例子是spring整合dubbo,spring包有點問題 2 3 springboot整合dubb,可以執行 2 zookeeper安裝 1 server.port 8082 5 dubbo是面向介面呼叫的,該介面被實現後註冊到zookeeper上 spring配置檔案中配置了zookeepe...
dubbo學習筆記
dubbo整合spring boot的官網位址為 dubbo 當我發現了這個位址後,我當即動手實踐,新建了工程,迅速搭起了程式的框架。我首先做的是用xml的配置檔案的方式進行配置 避免上次一做就是spring boot框架,在當時的環境下,jar的依賴關係複雜,以致最後以失敗而告終 xml的方式雖然...