Skip to content

项目准备

1、项目初始化

创建一个根目录项目 hai-rpc,然后一次创建Maven模块

image-20240220213306599

模块介绍:

  • example-common:示例代码的公共依赖,包括接口、Model 等
  • example-consumer:示例服务消费者代码
  • example-provider:示例服务提供者代码
  • yu-rpc-hai: RPC 框架

2、公共模块

公共模块需要同时被消费者服务提供者引入,主要是编写和服务相关的接口数据模型

整个模块的结构如下:

image-20240220214403090

1)编写用户实体类 User:

注意,对象需要实现序列化接口,为后续网络传输序列化提供支持。

Hutool-All 是一个功能强大且全面的Java工具库,它可以帮助开发人员简化开发过程中的常见任务,提高开发效率,减少重复劳动,同时提供了高性能和易用性。无论是字符串处理、日期时间操作、文件操作、网络请求还是其他方面,Hutool-All 都提供了丰富的工具类和方法,方便开发人员进行快速开发和实现各种功能需求。

3、服务提供者

4、服务消费者

image-20240220230349276

Web服务器

本地服务注册器

序列化器

提供者处理调用 - 请求处理器

消费方发起调用 - 代理

1、静态代理

2、动态代理

从 0 到 1 开发轮子,实践网络请求 + 序列化 + Vert.x + 反射 + 动态代理,提升架构设计能力。

Last updated: