Dubbo學習日記(一)

2021-09-25 06:18:43 字數 1768 閱讀 4635

dubbo框架是阿里巴巴開源的乙個高效能服務框架,使得應用可通過高效能的 rpc 實現服務的輸出和輸入功能,可以和spring框架無縫整合。它提供了三大核心能力:面向介面的遠端方法呼叫,智慧型容錯和負載均衡,以及服務自動註冊和發現。

官網上給的結構圖如下:

provider:暴露服務的服務提供方。

consumer:呼叫遠端服務的服務消費方。

registry:服務註冊與發現的註冊中心。

monitor:統計服務的呼叫次調和呼叫時間的監控中心。

container:服務執行容器。

呼叫關係:

0.start:服務容器負責啟動,載入,執行服務提供者。

1.register:服務提供者在啟動時,向註冊中心註冊自己提供的服務。

2.subscribe: 服務消費者在啟動時,向註冊中心訂閱自己所需的服務。

3.notify:註冊中心返回服務提供者位址列表給消費者,如果有變更,註冊中心將基於長連線推送變更資料給消費者。

4.invoke(呼叫): 服務消費者,從提供者位址列表中,基於軟負載均衡演算法,選一台提供者進行呼叫,如果呼叫失敗,再選另一台呼叫。

5.count:服務消費者和提供者,在記憶體中累計呼叫次數和呼叫時間,定時每分鐘傳送一次統計資料到監控中心。

本地需要配置local.xml檔案:

如果是需要遠端服務,則需要修改配置,將local.xml一分為二,將服務定義部分放在服務提供方remote-provider.xml,將服務引用部分放在服務消費方remote-consumer.xml

並在提供方增加暴露服務配置dubbo:service,在消費方增加引用服務配置dubbo:reference

服務者配置provider.xml:

消費者配置consumer.xml:

面向介面**的高效能rpc呼叫:提供高效能的基於**的遠端呼叫能力,服務以介面為粒度,為開發者遮蔽遠端呼叫底層細節。

智慧型負載均衡:

內建多種負載均衡策略,智慧型感知下游節點健康狀況,顯著減少呼叫延遲,提高系統吞吐量。

服務自動註冊與發現:

支援多種註冊中心服務,服務例項上下線實時感知。

高度可擴充套件能力:

遵循微核心+外掛程式的設計原則,所有核心能力如protocol、transport、serialization被設計為擴充套件點,平等對待內建實現和第三方實現。

執行期流量排程:

內建條件、指令碼等路由策略,通過配置不同的路由規則,輕鬆實現灰度發布,同機房優先等功能。

視覺化的服務治理與運維:

提供豐富服務治理、運維工具:隨時查詢服務元資料、服務健康狀態及呼叫統計,實時下發路由策略、調整配置引數。

dubbo學習(一)入門

部分內容來自dubbo官方文件 架構 呼叫關係說明 1 服務容器負責啟動,載入,執行服務提供者 2 服務提供者啟動時向註冊中心註冊自己提供的服務 3 服務消費者啟動時向註冊中心訂閱自己所需的服務 4 註冊中心返回服務提供者位址列表給消費者,如有變更,註冊中心將基於長連線推送變更資料給消費者 5 服務...

Dubbo學習記錄(一)

dubbo專案用idea搭建過程中有乙個很容易忽略的坑,容易導致服務介面和實際返回資料不一致的情況 專案結構 dubbo 父專案 主要是專案依賴 dubbo api 介面及實體類 dubbo service 服務提供者 dubbo web web專案,服務消費者 原因分析 同乙個project下面建...

學習dubbo(一) 簡介

dubbo是乙個被國內很多網際網路公司廣泛使用的開源分布式 服務框架,即使從國際視野來看應該也是乙個非常全面的soa基礎框架。作為乙個重要的技術研究課題,當當網根據自身的需求,為 dubbo 實現了一些新的功能,並將其命名為 dubbo是什麼?dubbo是乙個分布式服務 服務框架,致力於提高效能和透...