Appearance
项目准备
1、项目初始化
创建一个根目录项目 hai-rpc,然后一次创建Maven模块

模块介绍:
- example-common:示例代码的公共依赖,包括接口、Model 等
- example-consumer:示例服务消费者代码
- example-provider:示例服务提供者代码
- yu-rpc-hai: RPC 框架
2、公共模块
公共模块需要同时被消费者和服务提供者引入,主要是编写和服务相关的接口和数据模型
整个模块的结构如下:

1)编写用户实体类 User:
注意,对象需要实现序列化接口,为后续网络传输序列化提供支持。
Hutool-All 是一个功能强大且全面的Java工具库,它可以帮助开发人员简化开发过程中的常见任务,提高开发效率,减少重复劳动,同时提供了高性能和易用性。无论是字符串处理、日期时间操作、文件操作、网络请求还是其他方面,Hutool-All 都提供了丰富的工具类和方法,方便开发人员进行快速开发和实现各种功能需求。
3、服务提供者
4、服务消费者

Web服务器
本地服务注册器
序列化器
提供者处理调用 - 请求处理器
消费方发起调用 - 代理
1、静态代理
2、动态代理
从 0 到 1 开发轮子,实践网络请求 + 序列化 + Vert.x + 反射 + 动态代理,提升架构设计能力。