littlebot
Published on 2025-04-11 / 7 Visits
0

【源码】基于Go语言的简单RPC框架

项目简介

本项目是名为XRPC的简单RPC框架,能为构建高性能、可扩展的RPC服务提供有力支持。框架定义了服务器端处理RPC请求所需的各类类型与函数,让开发者可专注于业务逻辑实现,无需操心网络通信和协议处理细节。

项目的主要特性和功能

  1. 桩代码生成:支持用proto3(定制proto - gen - go)和Go interface(基于Go ast解析)生成桩代码,也能直接用函数地址Call(reflect实现),入参和返回值均为[]byte。
  2. 自定义协议:支持(tcp, kcp) x (tls, multiple stream)的自定义协议组合。
  3. 服务注册:提供consul/chord dht两种服务注册方式。
  4. 插件系统:具备jaeger分布式链路追踪、prometheus监控上报、特定日志、连接黑白名单、连接认证、加密数据、服务注册、限流等插件功能。
  5. 待实现功能:后续计划支持gRPC http2、quic http3传输协议,适配MOSN私有协议XProtocol和HTTP2,实现连接超时优雅关闭、自动重连和连接池功能。

安装使用步骤

假设用户已下载本项目的源码文件,可按以下步骤操作: 1. 确保已安装Go开发环境。 2. 进入项目源码目录。 3. 根据需求使用proto3或Go interface生成桩代码,或者直接使用函数地址Call。 4. 选择合适的服务注册方式(consul或chord dht)进行服务注册。 5. 根据业务需求选择启用相应的插件功能。 6. 编写具体的业务逻辑代码。 7. 编译并运行项目,启动RPC服务。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】