# shing-rpc **Repository Path**: MyShing/shing-rpc ## Basic Information - **Project Name**: shing-rpc - **Description**: CRPC(轻量级的RPC框架🎄)是一款专为简化分布式系统中的远程过程调用(RPC)而设计的高性能框架。实践网络请求➕序列化+Vert.x➕Etcd➕反射➕动态代理,提升架构设计能力。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2024-04-28 - **Last Updated**: 2024-09-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # shing RPC 框架 > 从 0 到 1,开发自己的 RPC 框架 ## 项目介绍 基于 Java + Etcd + Vert.x 的高性能 RPC 框架.提供服务注册,发现,负载均衡。是一个学习RPC工作原理的良好示例。下面看一下RPC的调用流程: 实践基于 Vert.x 的网络服序列务器、化器、基于 Etcd 和 ZooKeeper 的注册中心、反射、动态代理、自定义网络协议、多种设计模式(单例 / 工厂 / 装饰者等)、负载均衡器设计、重试和容错机制、Spring Boot Starter 注解驱动开发等,大幅提升架构设计能力。 >[开源地址1](https://github.com/Shingbb/shing-rpc.git) > > [开源地址2](https://gitee.com/MyShing/shing-rpc) ## 技术选型 ### 后端 后端技术以 Java 为主,但所有的思想和设计都是可以复用到其他语言的,代码不同罢了。 - ⭐️ Vert.x 框架 - ⭐️ Etcd 云原生存储中间件(jetcd 客户端) - ZooKeeper 分布式协调工具(curator 客户端) - ⭐️ SPI 机制 - ⭐️ 多种序列化器 - JSON 序列化 - jackson 序列化 - Kryo 序列化 - Hessian 序列化 - ⭐️ 多种设计模式 - 双检锁单例模式 - 工厂模式 - 代理模式 - 装饰者模式 - ⭐️ Spring Boot Starter 开发 - 反射和注解驱动 - Guava Retrying 重试库 - JUnit 单元测试 - Logback 日志库 - Hutool、Lombok 工具库 ## 源码目录 - shing-rpc-core:shing RPC 框架核心代码 - shing-rpc-easy:shing RPC 框架简易版(适合新手入门) - example-common:示例代码公用模块 - example-consumer:示例服务消费者 - example-provider:示例服务提供者 - example-springboot-consumer:示例服务消费者(Spring Boot 框架) - example-springboot-provider:示例服务提供者(Spring Boot 框架) - shing-rpc-spring-boot-starter:注解驱动的 RPC 框架,可在 Spring Boot 项目中快速使用