# rpc-shuai-coding **Repository Path**: zhangshuaihong/rpc-shuai-coding ## Basic Information - **Project Name**: rpc-shuai-coding - **Description**: 本项目是我手写完成的一个rpc远程调用框架 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-10-02 - **Last Updated**: 2025-10-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: SpringBoot, Vertx, rpc, Http, etcd ## README # 基于Vert.x 实现的高性能 RPC 框架 从 0 到 1,开发自己的 RPC 框架 # 项目介绍 - 基于 Java + Etcd / Zookeeper + Vert.x 的高性能 RPC 框架,用新颖的技术栈从 0 到 1 开发轮子。实践基于 Vert.x 的网络服务器、序列化器、基于 Etcd 和 ZooKeeper 的注册中心、反射、动态代理、自定义网络协议、多种设计模式(单例 / 工厂 / 装饰者等)、负载均衡器设计、重试和容错机制、Spring Boot Starter 注解驱动开发等 # 源码目录 boot-rest-template-consumer: 使用restTemplate进行远程调用(消费者) boot-rest-template-provider: 使用restTemplate进行远程调用(提供者) rpc-shuai-core: RPC 框架核心代码 rpc-shuai-easy: RPC 框架简易版 rpc-common:示例代码公用模块(比如用到的实体类entity,以及需要暴露的服务接口) rpc-shuai-consumer:服务消费者(纯Java代码) rpc-shuai-provider:服务提供者(纯Java代码) rpc-shuai-springboot-consumer:服务消费者(Spring Boot 框架) rpc-shuai-springboot-provider:服务提供者(Spring Boot 框架) rpc-shuai-spring-boot-starter:注解驱动的 RPC 框架,可在 Spring Boot 项目中快速使用 Design-Pattern-Proxy :代理模式的代码 Design-Pattern-Singleton :双检锁单例模式的代码 java-spi:Java SPI 机制代码 # 技术选型 后端技术以 Java 为主,但所有的思想和设计都是可以复用到其他语言的,代码不同罢了。 ⭐️ Vert.x 高性能网络服务器框架 ⭐️ Etcd 云原生存储中间件(jetcd 客户端) ZooKeeper 分布式协调工具(curator 客户端) ⭐️ SPI 机制 ⭐️ 多种序列化器 JSON 序列化 Kryo 序列化 Hessian 序列化 ⭐️ 多种设计模式 双检锁单例模式 工厂模式 代理模式 装饰者模式 ⭐️ Spring Boot Starter 开发 反射和注解驱动 Guava Retrying 重试库 JUnit 单元测试 Logback 日志库 Hutool、Lombok 工具库