项目简介
本项目是基于 Netty 框架实现的简易版 RPC(远程过程调用)框架。借助网络通信达成不同模块间的远程调用,让调用远程服务如同调用本地方法般简便。项目涵盖协议模块、服务工厂、服务调用方模块和服务提供方模块,具备动态代理、序列化、反序列化、服务注册与发现等基础 RPC 功能。
项目的主要特性和功能
- 动态代理:利用动态代理实现远程方法调用,调用方无需关注网络通信细节。
- 序列化与反序列化:支持 Java 自带序列化、Json 序列化和 Hessian 序列化等多种方式。
- 服务工厂:依据配置文件动态创建服务实例,实现灵活的服务管理。
- 服务调用方模块:封装服务调用方基本功能,包含动态代理实现。
- 服务提供方模块:实现服务提供方基本功能,包括请求处理和响应返回。
安装使用步骤
1. 已有源码
假设用户已经下载了本项目的源码文件。
2. 配置文件
在 src/main/resources
目录下找到 application.properties
文件,按需配置服务端 IP、端口以及序列化方式。
properties
server.ip=127.0.0.1
server.port=8080
serializer.algorithm=Java
3. 启动服务提供方
在 com.gw.core.server
包中找到 RpcServer
类,运行 main
方法启动服务提供方。
4. 启动服务调用方
在 com.gw.core.reference
包中找到 RpcServiceProxy
类,使用 getProxyService
方法获取服务接口的代理实例,并调用远程方法。
java
public static void main(String[] args) {
HelloService service = RpcServiceProxy.getProxyService(HelloService.class);
String result = service.sayHello("言安");
System.out.println(result);
}
5. 测试
运行服务调用方的 main
方法,观察控制台输出,验证远程调用是否成功。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】