用 Kitex 和 Proto 进行敏捷开发| 青训营

373 阅读1分钟

Def

Kitex is a Go RPC framework with high-performance and strong-extensibility for building micro-services.

Protobuf is a Google project that's optimized for situations where data is transmitted between multiple micro-services in a platform-neutral way.

官方文档

如何做

真的很简单~

第一步:安装

可以参考官方文档

安装kitex

go install ``github.com/cloudwego/kitex/tool/cmd/kitex@latest

安装proto

Why?

因为官方提供的idl就是proto 格式

Please ref to this page: grpc.io/docs/protoc…

第二步:在repo中建立proto文件

[Proto 文档的编写]

操作前请先checkout你负责的接口branch,不要直接改main branch!

Copy

看官方文档 抖音项目方案说明-第六届青训营后端项目

如下图,要点:

  1. 找自己负责的接口
  2. 复制内容

Paste

项目中新建idl/你的接口名.proto并进行更改,如下图

要点:

  1. syntax修改为proto3

    1. kitex只支持3
  2. package 改为你的接口名

  3. 添加一行设置,看图

  4. message命名规范:首字母大写的驼峰

  5. 去掉所有required 字段,proto3移除了这个字段

添加一丢丢服务代码

最后需要添加你的服务代码

添加在proto文件的最下面,例如视频流这里只要实现一个get接口,所以我就只要一个rpc就OK了

其中参数和返回应该是根据官方文档的类型来响应

// 视频流服务
service DouyinFeedService {
  // 不限制登录状态,返回按投稿时间倒序的视频列表
  rpc GetDouyinFeed(DouyinFeedRequest) returns (DouyinFeedResponse) {}
}

第三步:代码生成

这里请优先参考整体开发流程的shell命令

Kitex 代码生成