dubbo原理與實踐

2021-10-08 14:04:49 字數 2043 閱讀 4533

配置層(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。

dubbo提供的註冊中心有以下幾種選擇:

multicast、zookeeper,redis註冊中心,******註冊中心

mina,netty(預設推薦),grizzly

faliover cluster失敗自動切換,自動重試其他服務

failfast cluster只試一次,失敗報錯

failsafe cluster 失敗忽略

failback cluster 失敗自動恢復,記錄失敗請求,定時重發

forking cluster 並行呼叫多個服務,成功乙個就返回

broadcast cluster廣播提供者,錯乙個就報錯

random loadbalance 隨機,按照權重設定隨機概率(預設)

roundrobin loadbalance 輪詢,按照權重設定輪詢比例

leastactive loadbalance 最少活躍呼叫數

consistenthash loadbalance一致性hash,相同引數傳送到同一提供者

dubbo:service  服務配置

dubbo:reference 引用配置

dubbo:protocol  協議配置

dubbo:module  模組配置

dubbo:registry  註冊中心配置

dubbo:monitor  監控中心配置

dubbo:provider  提供方配置

dubbo:consumer  消費方配置

dubbo:method 方法配置

dubbo:argument  引數配置

dubbo 原理和入門實踐

一。dubbo 遠端服務呼叫的分布式框架 其核心部分包含 1.遠端通訊 提供對多種基於長連線的nio框架抽象封裝,包括多種執行緒模型,序列化,以及 請求 響應 模式的資訊交換方式。2.集群容錯 提供基於介面方法的透明遠端過程呼叫,包括多協議支援,以及軟負載均衡,失敗容錯,位址路由,動態配置等集群支援...

TF IDF原理與實踐

在資訊檢索中,tf idf 詞頻 逆文件頻率 是一種統計方法,用以評估乙個單詞在乙個文件集合或語料庫中的重要程度。經常被用作資訊檢索 文字挖掘以及使用者模型的權重因素。tf idf的值會隨著單詞在文件 現的次數的增加而增大,也會隨著單詞在語料庫 現的次數的增多而減小。tf idf是如今最流行的詞頻加...

ssrf原理與實踐

ssrf簡介 ssrf server side request forgery,服務端請求偽造 是攻擊者讓服務端發起構造的指定請求鏈結造成的漏洞。由於存在防火牆的防護,導致攻擊者無法直接入侵內網 這時攻擊者可以以伺服器為跳板發起一些網路請求,從而攻擊內網的應用及獲取內網資料。ssrf形成原因 最常見...