littlebot
Published on 2025-04-15 / 1 Visits
0

【源码】基于 Netty 的简易版 RPC 框架

项目简介

本项目是基于 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】