首先看下阿里官方給出的dubbo的框架圖,我們的分析由此展開
container:服務執行容器。
provider:暴露服務的服務提供方。
consumer:呼叫遠端服務的服務消費方。
registry:服務註冊與發現的註冊中心。
monitor:統計服務的呼叫次調和呼叫時間的監控中心。
invoker,而客戶端和服務端之間的紐帶就是url。
依靠url,dubbo不僅打通了通訊兩端,而且還依靠url完成了服務治理的任務。
下面我們回答幾個問題
一、dubbo是什麼?
dubbo是乙個分布式的服務框架,致力於提高效能和透明化的rpc遠端服務呼叫方案,以及soa(面向服務化程式設計架構)服務治理方案。
dubbo底層是使用nio的rpc做遠端排程。
解決的問題:遠端呼叫要解決的最本質問題是通訊,通訊就好像人和人之間的互動,有效的溝通建立在雙方彼此了解的基礎上,這基礎就是dubbo的url。
核心部分包含:(三大核心)
遠端通訊: 提供對多種基於長連線的nio「請求-響應」模式的資訊交換方式。
集群容錯: 提供基於介面方法的透明遠端容錯,位址路由,動態配置等集群支援.(可支援自由配置)
自動發現: 基於註冊中心目錄服務,使服務提供方可以平滑增加或減少服務提供者
二 、dubbo能做什麼?或者dubbo的框架的好處(優點)
1、透明化的遠端方法呼叫:透明化的遠端方法呼叫,就像呼叫本地方法一樣呼叫遠端方法,只需簡單配置,沒有任何api侵
入。 2、複雜均衡實現:軟負載均衡及容錯機制,可在內網替代f5等硬體負載均衡器,降低成本,減少單點。
3、自動註冊和發現:服務自動註冊與發現,不再需要寫死服務提供方位址,註冊中心基於介面名查詢服務提供者的ip
位址,並且能夠平滑新增或刪除服務提供者帶說說nio的概念
channel 和 buffer 是 nio 是兩個最基本的資料型別抽象。
buffer:
– 是一塊連續的記憶體塊。
– 是 nio 資料讀或寫的中轉地。
channel:
– 資料的源頭或者資料的目的地
– 用於向 buffer 提供資料或者讀取 buffer 資料 ,buffer 物件的唯一介面。
– 非同步 i/o 支援
下面說一下簡單的dubbo配置必須標明的配置檔案內容 DUBBO的服務分組
當乙個對外提供的介面有多個實現時,如何讓消費端消費指定的介面實現?dubbo提供了服務分組的概念 只要服務端和消費端處在同乙個分組中,就可以實現指定消費端消費指定的介面實現。服務 消費 消費任意實現 當乙個介面實現,出現不相容公升級時,可以用版本號過渡,版本號不同的服務相互間不引用。可以按照以下的步...
dubbo 支援服務降級嗎 Dubbo服務降級
一 簡介 解決高併發的三把利器 降級 限流 快取 1 什麼是服務降級 服務降級,當伺服器壓力劇增的情況下,根據當前業務情況及流量對一些服務有策略的降低服務級別,以釋放伺服器資源,保證核心任務的正常執行 2 服務降級方式 能夠實現服務降級方式很多,常見的有如下幾種情況 部分服務暫停 全部服務暫停 隨機...
dubbo服務集群
容錯配置 集權容錯模式 1 failover cluster 失敗自動切換,當出現失敗,重試其他伺服器。通常用於讀操作,但重試會帶來更長延遲。可通過retries 2來設定重試次數 不含第一次 如果沒有配置,預設使用這種方式,並且重試次數是2 retries 2 或者retries 2 或者 nam...