Loading...

文章背景图

tRPC-Go:腾讯高性能 RPC 框架快速入门与服务开发指南

2026-10-10
0
- 字
- 分钟

tRPC-Go:腾讯高性能 RPC 框架快速入门与服务开发指南

一、项目官方信息

项目 信息
GitHub 仓库 trpc-group/trpc-go
中文文档 trpc.group
开源协议 Apache-2.0
主要语言 Go
Star 数 约 2.3k

tRPC-Go 是腾讯 tRPC 框架的 Go 语言实现,是一个可插拔、高性能的 RPC 框架。它支持单进程启动多服务、多端口监听,组件可插拔,默认提供基础功能的实现,可由第三方替换。

tRPC-Go 仓库封面

二、官方图片

上图为 tRPC-Go 仓库在 GitHub 上的社交预览图。

三、环境要求

  • Go 1.21+;
  • protoc 与 trpc 命令行工具(生成代码模板);
  • Go Modules。

四、开发步骤

1. 安装命令行工具

go install trpc.group/trpc-go/trpc-cmdline/trpc@latest

2. 定义 IDL(proto)

syntax = "proto3";
package helloworld;
service Greeter {
  rpc SayHello (HelloRequest) returns (HelloReply) {}
}
message HelloRequest { string name = 1; }
message HelloReply { string message = 1; }

3. 生成脚手架代码

trpc create --proto helloworld.proto

4. 实现服务

func (s *GreeterServer) SayHello(ctx context.Context, req *pb.HelloRequest) (*pb.HelloReply, error) {
    return &pb.HelloReply{Message: "Hello " + req.Name}, nil
}

5. 启动服务

go run .

五、使用方法

  • 多服务单进程:一个进程可启动多个服务、监听多个地址;
  • 可插拔组件:日志、监控、负载均衡等可替换;
  • 协议扩展:默认 trpc、http,通过 codec 接口扩展;
  • Mock 测试:用 gomock/mockgen 生成 mock;
  • CLI 脚手架:trpc 命令行生成模板。

六、常见问题 FAQ

  1. tRPC-Go 是什么? 腾讯 tRPC 的 Go 实现,高性能可插拔 RPC 框架。

  2. 怎么生成代码? 安装 trpc 命令行工具,用 trpc create --proto xxx.proto。

  3. 支持哪些协议? 默认 trpc、http,可通过 codec 扩展第三方协议。

  4. 能在一个进程起多个服务吗? 支持,可监听多个地址。

  5. 怎么做单元测试? 用 gomock/mockgen 生成 mock 代码。

  6. 中文文档在哪? trpc.group。

七、跳转链接

评论交流

文章目录