用 Trae 入门 CloudWeGo-Kitex,包教包会!

向量数据库大模型微服务

picture.image

本教程由 CloudWeGo 提供

“Trae + CloudWeGo-Kitex” 的入门手册来袭

从环境搭建到运行示例

再到借力 Trae “无痛”添加新功能

快速上手字节跳动开源品牌

CloudWeGo 的 RPC 框架 Kitex

面向“零基础”新手,包教包会!

picture.image

先搞懂几个关键概念

1. RPC (远程过程调用):

通俗来讲,就是调用远端服务的某个方法,并获取到对应的响应。RPC 本质上定义了一种通信的流程,而具体的实现技术没有约束,核心需要解决的问题为序列化网络通信

2. IDL (接口定义语言):

如果我们要使用 RPC 进行调用,就需要知道对方的接口是什么,需要传什么参数,同时也需要知道返回值是什么样的;接口定义语言(IDL)就是用来约定双方的协议,此外还可以根据 IDL 文件生成指定语言的接口定义模块,极大简化开发工作。当前主流的 IDL 有thriftprotobuf

3. RPC 服务开发流程 - 以基于 Thrift 的 RPC 服务开发为例

  • 编写 IDL,定义服务 (Service) 接口。

  • 使用 thrift(或者等价的生成代码工具,如 kitex 等)生成客户端、服务端的支持代码。

  • 服务端开发者编写 handler ,即请求的处理逻辑。

  • 服务端开发者运行服务监听端口,处理请求。

  • 客户端开发者编写客户端程序,经过服务发现连接上服务端程序,发起请求并接收响应。

picture.image

动手前,准备好环境

1. 安装 Go 语言 :

Go 语言 一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。

  • 官网下载安装包: https://go.dev/doc/install

  • 验证安装成功: 完成安装后打开终端并输入 go version ,正确输出 Go 版本以及系统架构信息代表安装成功。

  • 设置国内代理go env -w GOPROXY=https://goproxy.cn

  • 检查环境变量: 确保 GOPATH 环境变量已经被正确地定义(例如 export GOPATH=~/go )并且将**GOPATH/bin添加到PATH环境变量之中(例如exportPATH=GOPATH/bin** 添加到 **PATH** 环境变量之中(例如 **export PATH=GOPATH/bin:$PATH** )

2. 安装 Kitex 代码生成工具:

Kitex 中使用到的代码生成工具包括 IDL 编译器(Thrift 可跳过)与 kitex tool

  • 安装 kitex 命令行工具: go install github.com/cloudwego/kitex/tool/cmd/kitex@latest

  • 安装成功后, 执行kitex --version 可以看到具体版本号的输出

picture.image

运行你的第一个 Kitex 示例

1. 使用 Git 获取示例代码:

git clone https://github.com/cloudwego/kitex-examples.git

2. 运行服务端:

  • 打开一个终端 b. 进入 hello 目录 cd kitex-examples/hello c. 运行服务端代码 go run .

  • 输出以下类似日志代表运行成功:2025/01/18 20:35:08.857352 server.go:83: [Info] KITEX: server listen at addr=[::]:8888

3. 运行客户端:

  • 打开另一个终端 b. 进入 hello 目录 cd kitex-examples/hello c. 运行服务端代码go run ./client

  • 输出以下类似日志代表运行成功:2025/01/18 20:39:59 Response({Message:my request})

恭喜!你已经成功运行了一个基础的 Kitex RPC 服务!

picture.image

Coding with Trae

任务:在基础 hello 示例中新增方法 -> 生成新代码 -> 补全业务逻辑 -> 新增客户端调用

1. git clone https://github.com/cloudwego/kitex-examples.git

2. 打开 Trae CN,打开 cloudwego/kitex-examples 目录,进入 hello 目录,打开 hello.thrift 文件。

3. 在 Trae 后侧会话框里面输入:“现在让我们为新方法分别定义一个新的请求和响应, AddRequest 和 AddResponse ,并在 service Hello 中增加 add 方法:”

picture.image

picture.image

4. 根据 Trae 提示,将需要新增的代码填充到 hello.thrift 文件中。

5. 根据 Trae 提示,使用如下命令行重新生成代码:kitex -module "github.com/cloudwego/kitex-examples" -service a.b.c hello.thrift。其中 "github.com/cloudwego/kitex-examples" 是 module_name, a.b.c 是 服务名。

picture.image

6. 上述步骤完成后,./handler.go 中会自动补全一个 Add 方法的基本实现。点击 handler.go 文件。

7. 在 Trae 后侧会话框里面输入:“给新增的 Add 方法增加业务逻辑代码”。

picture.image

8. 根据 Trae 提示,将需要新增的代码填充到 handler.go 文件中,如果有静态代码错误根据 IDE 提示对其进行修复。

9. 服务端已经有了 Add 方法的处理,现在让我们在客户端增加对Add 方法的调用。打开**./client/main.go** 文件,在 Trae 后侧会话框里面输入:“在 main.go 文件 for 循环中增加 Add 方法的调用”。

picture.image

10. 按照基础入门运行示例代码的方法,分别重新运行服务端(go run . )与客户端代码(go run ./client ),看到类似如下输出,代表运行成功。

picture.image

picture.image

picture.image

想深入学?看这里

1. 官方新增方法教程:

在基础 hello 示例中新增方法 -> 生成新代码 -> 补全业务逻辑 -> 新增客户端调用:

https://www.cloudwego.io/zh/docs/kitex/getting-started/quick\_start/#新增方法

2. 电商场景实战教程:

模拟一个简单的电商场景,包括商品服务、库存服务与 API 服务,商品服务调用库存服务查询库存,API 服务调用商品服务查询商品信息,对前端或用户暴露 HTTP 接口供查询商品信息:

https://www.cloudwego.io/zh/docs/kitex/getting-started/tutorial/

3. 更多 Kitex 示例代码:

  • Kitex 示例代码简介:

https://www.cloudwego.io/zh/docs/kitex/getting-started/examples/

  • Kitex 示例代码仓库:

https://github.com/cloudwego/kitex-examples

  • 多组件、多功能、复杂业务逻辑项目示例:

https://github.com/cloudwego/biz-demo

总结: Kitex 入门其实很简单!掌握核心概念 -> 配好环境 -> 跑通示例 -> 用 AI 辅助开发新功能。快动手试试吧,跟着教程玩转开发:

  • Trae 官网:

https://www.trae.com.cn/

  • CloudWeGo 官网:

https://www.cloudwego.io/zh/docs/kitex/getting-started

0
0
0
0
关于作者
关于作者

文章

0

获赞

0

收藏

0

相关资源
云原生环境下的日志采集存储分析实践
云原生场景下,日志数据的规模和种类剧增,日志采集、加工、分析的多样性也大大增加。面对这些挑战,火山引擎基于超大规模下的 Kubernetes 日志实践孵化出了一套完整的日志采集、加工、查询、分析、消费的平台。本次主要分享了火山引擎云原生日志平台的相关实践。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论