# RPC **Repository Path**: yzh-CodeOrProject/RPC ## Basic Information - **Project Name**: RPC - **Description**: RPC框架的简单实现 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-03-27 - **Last Updated**: 2024-04-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # RPC框架实现 ## 1. 简介 RPC(Remote Procedure Call)即远程过程调用,是一种进程间通信方式,它允许程序调用另一个地址空间(通常是共享网络的另一个进程)中的过程,而不用程序员显式编码这个远程调用的细节。即程序员无论是调用本地的还是远程的,就像调用本地的函数一样,不用关心细节问题,就是调用远程的函数。RPC框架的目标就是让远程过程调用的感觉,就像调用本地函数一样,让调用方感觉就像在调用本地函数一样,RPC框架要屏蔽远程调用的过程细节。 ## 2. 实现功能 1. 使用反射和动态代理方式实现简易rpc,并使用工厂创建代理对象 2. 支持全局配置文件的读取。 ## 3. 拓展未实现功能 1)支持读取application.yml、application.yaml等不同格式的配置文件。 2)支持监听配置文件的变更,并自动更新配置对象。 参考思路:使用Hutool工具类的props.autoLoad()可以实现配置文件变更的监听和自动加载。 3)配置文件支持中文。 参考思路:需要注意编码问题 4)配置分组。后续随着配置项的增多,可以考虑对配置项进行分组。 参考思路:可以通过嵌套配置类实现。 5)完善M0Ck的逻辑,支持更多返回类型的默认值生成。 参考思路:使用Fakr之类的伪造数据生成库,来生成默认值。