Dubbo之基礎概念和配置

2021-09-13 02:31:27 字數 2002 閱讀 1283

1)需要乙個服務註冊中心,動態的註冊和發現服務,使服務的位置透明,在消費方獲取服務提供方位址列表,實現軟負載均衡和failover

2)需要自動畫出應用間的依賴關係圖,幫助架構師理清關係

3)當服務呼叫量越來越大,需要將服務每天的呼叫量,響應時間統計出來,作為容量規劃的參考指標

provider:服務提供方

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

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

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

container:服務執行容器

服務介面層(service):該層是與實際業務邏輯相關的,根據服務提供方和服務消費方的業務設計對應的介面和實現。

配置層(config):對外配置介面,以serviceconfig和referenceconfig為中心,可以直接new配置類,也可以通過spring解析配置生成配置類。

服務**層(proxy):服務介面透明**,生成服務的客戶端stub和伺服器端skeleton,以serviceproxy為中心,擴充套件介面為proxyfactory。

服務註冊層(registry):封裝服務位址的註冊與發現,以服務url為中心,擴充套件介面為registryfactory、registry和registryservice。可能沒有服務註冊中心,此時服務提供方直接暴露服務。

集群層(cluster):封裝多個提供者的路由及負載均衡,並橋接註冊中心,以invoker為中心,擴充套件介面為cluster、directory、router和loadbalance。將多個服務提供方組合為乙個服務提供方,實現對服務消費方來透明,只需要與乙個服務提供方進行互動。

監控層(monitor):rpc呼叫次數和呼叫時間監控,以statistics為中心,擴充套件介面為monito***ctory、monitor和monitorservice。

遠端呼叫層(protocol):封將rpc呼叫,以invocation和result為中心,擴充套件介面為protocol、invoker和exporter。protocol是服務域,它是invoker暴露和引用的主功能入口,它負責invoker的生命週期管理。invoker是實體域,它是dubbo的核心模型,其它模型都向它靠擾,或轉換成它,它代表乙個可執行體,可向它發起invoke呼叫,它有可能是乙個本地的實現,也可能是乙個遠端的實現,也可能乙個集群實現。

資訊交換層(exchange):封裝請求響應模式,同步轉非同步,以request和response為中心,擴充套件介面為exchanger、exchangechannel、exchangeclient和exchangeserver。

網路傳輸層(transport):抽象mina和netty為統一介面,以message為中心,擴充套件介面為channel、transporter、client、server和codec。

資料序列化層(serialize):可復用的一些工具,擴充套件介面為serialization、 objectinput、objectoutput和threadpool。

這裡使用zookeeper作為註冊中心進行配置。

這裡只給出了基於xml的基本配置,詳情可以去進行檢視。

Dubbo基礎三之配置方式簡述

dubbo基礎一之實戰初體驗 池塘裡洗澡的鴨子 cnblogs.com 中,體驗了兩種配置方式一種註解一種xml。其中xml是在註解配置失敗沒有找到解決方法後選擇xml替代體驗的。那麼dubbo支援多少中配置方式呢?一般分為以下幾種且每種配置方式各有不同 1 註解 基於註解可以快速的將程式配置無效多...

基礎)Dubbo 第二章 dubbo配置

5 版本號 6 本地存根 jvm 啟動 d 引數優先,這樣可以使使用者在部署和啟動時進行引數重寫,比如在啟動時需改變協議的埠。xml 次之,如果在 xml 中有配置,則 dubbo.properties 中的相應配置項無效。properties 最後,相當於預設值,只有 xml 沒有配置時,dubb...

Dubbo之引數配置(五)

目錄 併發控制 連線控制 延遲連線 粘滯連線 限 務的方法在伺服器端占用執行緒池執行緒數的數量。1 限制barservice的每個方法,伺服器端併發執行數不能超過10個 2 限制barservice的sayhello方法,伺服器端併發執行數不能超過10個 3 限制barservice的每個方法,每個...