配置層(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形成原因 最常見...