摘要:對于發布的服務,使用的接口暴露給使用者,使用者引入該服務接口,然后配置接口。不使用的方式這個是最直接的使用方式,通過的返回代理類,然后直接調用。以下幾種就是使用的調用方式。
序
使用netty開發rpc的話,對于client端來說,面臨的一個問題就是client如何方便地對遠程服務進行調用。java的rmi通過代理模式給了很好的實例,通過代理,使得調用遠程服務像調用本地服務一樣,對使用者來說,非常簡便。對于發布的服務,使用java的接口暴露給使用者,使用者引入該服務接口,然后配置接口。這里簡述了幾種具體的調用方式。
不使用ioc的方式public void proxyDemo(){ HelloService helloService = client.rpcProxy(HelloService.class, Pair.of(500L, TimeUnit.MILLISECONDS)); System.out.println(helloService.say("proxy demo")); }
這個是最直接的使用方式,通過jdk的proxy返回代理類,然后直接調用。不過,一般工程里頭涉及多次調用的話,每次new一個代理類比較浪費,可以考慮集成ioc容器。以下幾種就是使用spring的調用方式。
java config方式@Bean public HelloService buildHelloService(RpcProxyFactory rpcProxyFactory){ return rpcProxyFactory.proxyBean(HelloService.class,100/*timeout*/); }
好處是,可以直接共用service-api的接口,不好的是java config稍微不如xml直觀,不過適應就好
xml方式com.codecraft.rpc.service.demo.HelloService 200
這種方式就是配置感覺略微復雜點,不過還可以接受,具體可參照navi
自定義schema的xml參照dubbo的方式,自定義schema,dubbo-config-spring,這種方式是使用簡單,但是擴展spring的xsd略微復雜。
client再次定義接口使用spring的scanner的方式,client端再次寫接口添加注解,然后client端掃描裝配,重復定義,不建議用,具體可參照rpc-spring
參考Spring bean 實現生命周期的三種解決方案
dubbo是如何“插入”到spring框架中的
Dubbo之旅--啟動解析(DubboBeanDefinitionParser#parse)
spring hessian 自動掃描注入
hessian-spring
rpc-spring
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/65762.html
摘要:先來說第種類型,即遠程通信的,看的源碼,調用過程大致內容就是將通過遠程通信將信息傳遞給服務器端,服務器端接收到該信息后,找到對應的本地,然后通過反射執行相應的方法,將方法的返回值再通過遠程通信將結果傳遞給客戶端。 showImg(https://segmentfault.com/img/remote/1460000015285374?w=640&h=363); 上圖是服務消費的主過程:...
摘要:序調用,有多種序列化的方式,通用如,使用的方面的,比如默認的序列化,比如還有跨語言的,比如。所以也一直在尋找運行效率與開發效率兼得的序列化方式。偶爾在網上看到,覺得找到了一直在找的這種序列化方式。 序 rpc調用,有多種序列化的方式,通用如json,mongodb使用的bson;java方面的,比如Java默認的序列化,比如hessian;還有跨語言的,比如thrift、protoco...
摘要:如果有多個注冊中心,多個服務提供者,這個時候會得到一組實例,此時需要通過集群管理類將多個合并成一個實例。并保留服務提供者的部分配置,比如版本,,時間戳等最后將合并后的配置設置為查詢字符串中。 1. 簡介 在上一篇文章中,我詳細的分析了服務導出的原理。本篇文章我們趁熱打鐵,繼續分析服務引用的原理。在 Dubbo 中,我們可以通過兩種方式引用遠程服務。第一種是使用服務直聯的方式引用服務,第...
摘要:對于與而言,則可以看做是消息傳遞技術的一種衍生或封裝。在生產者通知消費者時,傳遞的往往是消息或事件,而非生產者自身。通過消息路由,我們可以配置路由規則指定消息傳遞的路徑,以及指定具體的消費者消費對應的生產者。采用和來進行遠程對象的通訊。 消息模式 歸根結底,企業應用系統就是對數據的處理,而對于一個擁有多個子系統的企業應用系統而言,它的基礎支撐無疑就是對消息的處理。與對象不同,消息本質上...
閱讀 1074·2021-11-16 11:45
閱讀 2708·2021-09-27 13:59
閱讀 1315·2021-08-31 09:38
閱讀 3143·2019-08-30 15:52
閱讀 1315·2019-08-29 13:46
閱讀 2085·2019-08-29 11:23
閱讀 1631·2019-08-26 13:47
閱讀 2476·2019-08-26 11:54