溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Dubbo重要概念分析

發(fā)布時間:2021-11-12 13:49:28 來源:億速云 閱讀:123 作者:柒染 欄目:大數據

這期內容當中小編將會給大家?guī)碛嘘PDubbo重要概念分析,文章內容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

1.proxyFactory:就是為了獲取一個接口的代理類,例如獲取一個遠程接口的代理。
它有2個方法,代表2個作用
  a.getInvoker:針對server端,將服務對象,如DemoServiceImpl包裝成一個Invoker對象。
  b.getProxy  :針對client端,創(chuàng)建接口的代理對象,例如DemoService的接口。
  
2.Wrapper:它類似spring的BeanWrapper,它就是包裝了一個接口或一個類,可以通過wrapper對實例對象進行賦值 取值以及制定方法的調用。

3.Invoker:它是一個可執(zhí)行的對象,能夠根據方法的名稱、參數得到相應的執(zhí)行結果。
       它里面有一個很重要的方法 Result invoke(Invocation invocation),
  Invocation是包含了需要執(zhí)行的方法和參數等重要信息,目前它只有2個實現類RpcInvocation MockInvocation
      它有3種類型的Invoker
    1.本地執(zhí)行類的Invoker
        server端:要執(zhí)行 demoService.sayHello,就通過InjvmExporter來進行反射執(zhí)行demoService.sayHello就可以了。
        
    2.遠程通信類的Invoker
        client端:要執(zhí)行 demoService.sayHello,它封裝了DubboInvoker進行遠程通信,發(fā)送要執(zhí)行的接口給server端。
        server端:采用了AbstractProxyInvoker執(zhí)行了DemoServiceImpl.sayHello,然后將執(zhí)行結果返回發(fā)送給client.
        
    3.多個遠程通信執(zhí)行類的Invoker聚合成集群版的Invoker
        client端:要執(zhí)行 demoService.sayHello,就要通過AbstractClusterInvoker來進行負載均衡,DubboInvoker進行遠程通信,發(fā)送要執(zhí)行的接口給server端。
        server端:采用了AbstractProxyInvoker執(zhí)行了DemoServiceImpl.sayHello,然后將執(zhí)行結果返回發(fā)送給client.
        
4.Protocol
  1.export:暴露遠程服務(用于服務端),就是將proxyFactory.getInvoker創(chuàng)建的代理類 invoker對象,通過協議暴露給外部。
  2.refer:引用遠程服務(用于客戶端), 通過proxyFactory.getProxy來創(chuàng)建遠程的動態(tài)代理類,例如DemoService的遠程動態(tài)接口。
  
5.exporter:維護invoder的生命周期。

6.exchanger:信息交換層,封裝請求響應模式,同步轉異步。

7.transporter:網絡傳輸層,用來抽象netty和mina的統一接口。

8.Directory:目錄服務
  StaticDirectory:靜態(tài)目錄服務,他的Invoker是固定的。
  RegistryDirectory:注冊目錄服務,他的Invoker集合數據來源于zk注冊中心的,他實現了NotifyListener接口,并且實現回調notify(List<URL> urls),
整個過程有一個重要的map變量,methodInvokerMap(它是數據的來源;同時也是notify的重要操作對象,重點是寫操作。)

上述就是小編為大家分享的Dubbo重要概念分析了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI