# RPC **Repository Path**: beihangya/rpc ## Basic Information - **Project Name**: RPC - **Description**: RPC项目 - **Primary Language**: C - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-11-24 - **Last Updated**: 2025-09-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README RPC 基于c++的rpc远程调用框架。该项目实现了服务调用方和提供方的通信能力,同时具备一定的服务治理能力,如负载均衡、重试和容错策 略等,项目中使用了反射、工厂设计模式、并发编程等技术 1. 基于动态代理和工厂模式实 现消费方调用模块,为指定服务接口类生成可发送HTTP 请求的 代理对象,实现远程方法的无感知调用。 2. 独立完成了负载均衡的代码实现,实现了轮询、一致性hash 等几种常见的负载均衡策略,并 且使用模板方法模式封装了负载均衡的骨架代码,子类独立实现负载均衡算法 3. 定义序列化器接口,实现了基于JSON序列化器,并通过ThreadLocal 解决了Kryo序列化器 的线程安全问题。 4. 通过动态代理和工厂模式,为服务调用方生成返回模拟数据的Mock服务对象,便于开发测 试。 5. 基于Etcd云原生中间件实现了高可用的分布式注册中心,利用其层级结构和Jetcd的KvClient 存储服务和节点信息