腾讯trpc-go教程——一文搞懂trpc框架

腾讯trpc-go教程——一文搞懂trpc框架


前言

最近腾讯开源了trpc框架,小编心血来潮就去研究了以下,现在将研究结果分享给大家。

安装trpc

首先将以下内容添加到你的 ~/.gitconfig 中:

[url "ssh://git@github.com/"]
    insteadOf = https://github.com/

然后执行

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

如果报错了可以尝试一下的代理地址:

go env -w GOPROXY=https://goproxy.cn,direct
go env -w GOPROXY=https://goproxy.io,direct
go env -w GOPROXY=https://goproxy.baidu.com/ 
go env -w GOPROXY=https://mirrors.aliyun.com/goproxy/

执行一下命令查看是否安装成功

trpc version

#打印版本号就是成功了
trpc-group/trpc-cmdline version: v1.0.5

然后执行一下代码,安装下依赖

trpc setup

安装protoc

我们可以点击protoc工具下载链接,目前的最新版本是v25.0

在这里插入图片描述

大家可以根据自己需求安装。安装之后配置下环境变量。在这里插入图片描述

然后执行:

protoc --version

查看下版本号,如果没有输出版本号就是没安装成功或者环境变量没配好。

第一个trpc程序

创建项目目录

创建一下的目录结构,模拟项目操作

在这里插入图片描述

编写helloworld.proto文件

syntax = "proto3";
package helloworld;

option go_package = "github.com/some-repo/examples/helloworld";

// HelloRequest is hello request.
message HelloRequest {
  string msg = 1;
}

// HelloResponse is hello response.
message HelloResponse {
  string msg = 1;
}

// HelloWorldService handles hello request and echo message.
service HelloWorldService {
  // Hello says hello.
  rpc Hello(HelloRequest) returns(HelloResponse);
}

执行命令

trpc create -p helloworld.proto -o out
cd out
go run .

执行命令后会生成以下文件目录
在这里插入图片描述

trpc_go.yaml是trpc的配置文件

global:  # Global configuration.
  namespace: Development  # Environment type, either Production or Development.
  env_name: test  # Environment name for non-production environments.

server:  # Server configuration.
  app: yourAppName  # Application name for the business.</
### TRPC-Go 使用教程概述 TRPC-Go 是一个高性能、可插拔的 RPC 框架,专为微服务架构和分布式系统设计[^3]。以下是关于其安装、配置和基本使用方法的内容。 #### 安装 TRPC-Go 要开始使用 TRPC-Go,需先确认已正确安装 Go 语言环境。随后通过以下命令获取框架及其相关工具: ```bash go get -u github.com/trpc-group/trpc-go/trpc/cmd/trpc ``` 此命令会下载并安装必要的依赖项以及 `trpc` 命令行工具[^1]。 #### 创建基础服务 初始化一个新的 Go 项目后,可以创建一个简单的服务文件(如 `main.go`)。下面是一个典型的服务器端实现示例: ```go package main import ( "context" "github.com/trpc-group/trpc-go/trpc" "github.com/trpc-group/trpc-go/trpc/example" ) func main() { server := trpc.NewServer() server.RegisterService(new(example.Echo), "/example") if err := server.Serve("127.0.0.1:8080"); err != nil { panic(err) } } ``` 上述代码展示了如何注册一个名为 `/example` 的服务路径,并绑定具体的处理逻辑至该路径上。 #### 定义服务接口 在 TRPC-Go 中定义服务通常涉及编写协议缓冲区(Protocol Buffers, Protobuf)描述的服务接口。之后利用框架自带的工具生成对应的客户端和服务端代码。例如,运行如下命令即可基于 `.proto` 文件生成所需代码: ```bash trpc proto --out . ``` 这一步骤对于简化通信层开发至关重要[^2]。 #### 推荐资源 官方文档提供了详尽的操作指南和技术细节说明,建议访问 [GitHub 上的 tRPC-Go](https://github.com/trpc-group/trpc-go) 获取最新版本的信息和支持材料[^4]。 ---
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员阿诺斯

您的打赏是我创作路上最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值