Dubbo實戰 基礎學習篇(一)

2021-07-04 11:43:32 字數 1742 閱讀 2985

dubbo是阿里巴巴soa服務化治理方案的核心框架,每天為2,000多個服務提供30多億次訪問量支援,並被廣泛應用於阿里巴巴集團的各成員站點。

dubbo是乙個分布式服務框架,致力於提供高效能和透明化的rpc遠端服務呼叫方案,以及soa服務治理方案。

(1)當服務越來越多時,服務url配置管理變得非常困難,f5硬體負載均衡器的單點壓力也越來越大。

此時需要乙個服務註冊中心,動態的註冊和發現服務,使服務的位置透明。

並通過在消費方獲取服務提供方位址列表,實現軟負載均衡和failover,降低對f5硬體負載均衡器的依賴,也能減少部分成本。

(2)當進一步發展,服務間依賴關係變得錯蹤複雜,甚至分不清哪個應用要在哪個應用之前啟動,架構師都不能完整的描述應用的架構關係。

這時,需要自動畫出應用間的依賴關係圖,以幫助架構師理清理關係。

(3)接著,服務的呼叫量越來越大,服務的容量問題就暴露出來,這個服務需要多少機器支撐?什麼時候該加機器?等等

…第一步,要將服務現在每天的呼叫量,響應時間,都統計出來,作為容量規劃的參考指標。

遠端通訊:提供對多種基於長連線的nio框架抽象封裝,包括多種執行緒模型,序列化,以及「請求-響應」模式的資訊交換方式。

集群容錯:提供基於介面方法的透明遠端過程呼叫,包括多協議支援,以及軟負載均衡,失敗容錯,位址路由,動態配置等集群支援。

自動發現:基於註冊中心目錄服務,使服務消費方能動態的查詢服務提供方,使位址透明,使服務提供方可以平滑增加或減少機器。

透明化的遠端方法呼叫,就像呼叫本地方法一樣呼叫遠端方法,只需簡單配置,沒有任何api侵入。

軟負載均衡及容錯機制,可在內網替代f5等硬體負載均衡器,降低成本,減少單點。

服務自動註冊與發現,不再需要寫死服務提供方位址,註冊中心基於介面名查詢服務提供者的ip位址,並且能夠平滑新增或刪除服務提供者。

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

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

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

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

container: 服務執行容器。

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

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

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

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

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

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

下篇講解

dubbo+zookeeper+spring

的整合應用,

zookeeper

為註冊中心,接下來我們的學習主要結合基於

zookeeper

的dubbo

註冊中心來學習

dubbo

這個分布式系統框架。

注:dubbo

的註冊中心有一下幾種,使用者指南中說明

-推薦使用zookeeper註冊中心

dubbo使用者指南:

使用者指南

dubbo基礎學習

dubbo是乙個分布式服務框架,致力於提供高效能和透明化的rpc遠端服務呼叫方案,以及soa服務治理方案。其核心部分包含 遠端通訊 提供對多種基於長連線的nio框架抽象封裝,包括多種執行緒模型,序列化,以及 請求 響應 模式的資訊交換方式。集群容錯 提供基於介面方法的透明遠端過程呼叫,包括多協議支援...

Dubbo專案實戰初探(一)

公司專案使用duboo技術架構也有一段時間,做下簡單的經驗總結,不喜勿噴。擁有的阿里背景的dubbo,給使用者帶來的絲絲安慰,畢竟阿里那麼大的平台都在使用,相對小型一些的平台使用應該也是沒有問題。那麼在設計過程中,應該注意哪些呢?一,模組劃分。二,服務抽離。這裡的服務抽離,是針對每個模組裡面的服務進...

Unity Shader學習 一 基礎篇

本系列學習是以馮樂樂學姐編寫的 unityshader入門精要 為基礎資料來學習的。據隔壁學霸介紹,此書有很多實用shader而且講解細緻,所以在這裡也向大家推薦一下。計算機影象是通過渲染流水線的方式進行渲染的 分為應用階段,幾何階段,光柵化階段。每個階段本身通常也是乙個子流水線 應用階段 由cpu...