代碼目錄結構
技術要點
1. 使用zookeeper作註冊中心,把被調用方的信息註冊上去
服務的註冊
服務的發現
2、自定義註解
註解RpcService標記被調用方的實現類,RpcClientService標記調用方的類需要生成代理類
3、調用方代理類的注入
掃描包下的RpcClientService註解,並生成代理類
獲取代理類
調用方底層基於netty的發送請求和接收響應
4、被調用方
獲取接口與實現類的對應關係
讀取調用方傳遞過來的接口名和參數,利用反射調用相應類並返回結果給前端
5、自定義rpc框架的使用
1、被調用方maven依賴
2、調用方maven依賴
3、被調用方實現類加上註解RpcService,裡面的值是被調用的接口
4、調用方建立包名com.shuangyueliao.rpc.myinterface,新建要調用的接口,並加上註解RpcClientService
功能演示
1、啟動zookeeper,如需要修改zookeeper連接地址,請修改rpc-sample-server和rpc-sample-client的配置文件application.properties中的配置項zookeeper.url
2、運行rpc-sample-server(被調用方)RpcBootstrap的main方法啟動被調用方
3、運行rpc-sample-client(調用方)的StartApp的main方法啟動調用方
4、瀏覽器輸入http://localhost:8090/order請求rpc-sample-client,rpc-sample-client會RPC調用rpc-sample-server
項目地址