dubbo是一種分布式服務框架。 webservice也是一種服務框架,但是webservice並不是分布式的服務框架,他需要結合f5實現負載均衡。因此,dubbo除了可以提供服務之外,還可以實現軟負載均衡。它還提供了兩個功能monitor 監控中心和呼叫中心。這兩個是可選的,需要單獨配置。
dubbo的計數架構圖如下:
節點角色說明:
provider: 暴露服務的服務提供方。
consumer: 呼叫遠端服務的服務消費方。
registry: 服務註冊與發現的註冊中心。
monitor: 統計服務的呼叫次數和呼叫時間的監控中心。
container: 服務執行容器。
呼叫關係說明:
1. 服務容器負責啟動,載入,執行服務提供者。
2. 服務提供者在啟動時,向註冊中心註冊自己提供的服務。
3. 服務消費者在啟動時,向註冊中心訂閱自己所需的服務。
4. 註冊中心返回服務提供者位址列表給消費者,如果有變更,註冊中心將基於長連線推送變更資料給消費者。
5. 服務消費者,從提供者位址列表中,基於軟負載均衡演算法,選一台提供者進行呼叫,如果呼叫失敗,再選另一台呼叫。
6. 服務消費者和提供者,在記憶體中累計呼叫次數和呼叫時間,定時每分鐘傳送一次統計資料到監控中心。
dubbo 負載均衡
4種策略:預設預設為random隨機呼叫
1.隨機random
按權重設定隨機概率,呼叫量越大分布越均勻
2.輪循 roundrobin
按公約後的權重設定輪循比率
3.最少活躍呼叫數 leastactive
相同活躍數的隨機,活躍數指呼叫前後計數差
4.一致性hash consistenhash
一致性hash,相同引數的請求總是發到同一提供者
執行緒池:
threadpool
fixed固定大小執行緒池,啟動時建立執行緒,不關閉,一直持有
cached:快取執行緒池,空閒一分鐘自動刪除,需要時重建
limited:可伸縮執行緒池,但池中的執行緒數隻會增長不會收縮.(為避免收縮時突然來了大流量引起的效能問題)
配置如:
配置標籤:
直連服務提供者 多個位址用分號隔開
只訂閱(不提供服務)
或者 :
只註冊或者
Dubbo 分布式服務
隨著網際網路的發展,應用的規模不斷擴大,常規的垂直應用架構已無法應對,分布式服務架構以及流動計算架構勢在必行,亟需乙個治理系統確保架構有條不紊的演進。垂直應用架構 分布式服務架構 流動計算架構 在大規模服務化之前,應用可能只是通過rmi或hessian等工具,簡單的暴露和引用遠端服務,通過配置服務的...
Dubbo分布式框架 學習筆記(一)
dubbo簡介 ps 第一次寫這個,有什麼不對的地方請大家多多指教!前言 學習乙個 框架 技術 個人認為首重點內容先要了解這個 框架 技術 是做什麼的?有什麼優 缺點?dubbo是阿里巴巴公司開源的乙個高效能優秀的服務框架,使得應用可通過高效能的 rpc 實現服務的輸出和輸入功能,可以和 sprin...
構建dubbo分布式平台 dubbo簡介
1.dubbo是什麼?dubbo是乙個分布式服務框架,致力於提供高效能和透明化的rpc遠端服務呼叫方案,以及soa服務治理方案。簡單的說,dubbo就是個服務框架,如果沒有分布式的需求,其實是不需要用的,只有在分布式的時候,才有dubbo這樣的分布式服務框架的需求,並且本質上是個服務呼叫,說白了就是...