# rpc **Repository Path**: abanlee/rpc ## Basic Information - **Project Name**: rpc - **Description**: 写rpc - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-02-27 - **Last Updated**: 2026-03-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 2026年02月27日 第一次初始化工程,希望能坚持下去 ## 2026年02月28日 整个rpc计划 ### 服务间进行本地调用 定义订单服务与商品服务。订单服务需要查询商品信息 ### 实现tcp通信 主要是通过Netty实现服务端与客户端通过TCP协议进行通信 ### 代理对象 #### JDK动态代理 通过jdk动态代理实现对业务接口的动态代理,讲调用远程服务的能力封装 ### 定义rpc调用的协议 #### 协议定义 需要定义服务端与客户端交互的请求参数与响应参数 #### 序列化能力 ##### Java序列化 ##### Json序列化 本次先实现JSON序列化 ### 注册中心 注册中心使用NACOS #### 负载均衡 需要实现负载均衡 ##### 随机 ##### 排序 ##### 权重 #### 熔断 当服务无法提供服务时,对客户端的请求进行快速失败,减轻服务器压力 客户端调用 ↓ 动态代理拦截(JDK Proxy) ↓ 构造 RpcRequest 接口名、方法名、参数类型、参数值 ↓ 序列化(JSON/JDK) ↓ 建立TCP连接 → 发送请求 ↓ 服务端接收请求 ↓ 反序列化 → 得到 RpcRequest ↓ 本地服务注册器找到实现类 ↓ 反射调用方法 ↓ 构造 RpcResponse ↓ 序列化 → 回传给客户端 ↓ 客户端反序列化 → 返回结果 rpc ├── proxy 动态代理 ├── protocol RpcRequest/RpcResponse ├── serialize 序列化 ├── transport 客户端/服务端(Socket/Netty) ├── registry 本地服务注册 └── reflect 反射调用