微型抖音实践篇(二)--kitex用protobuf生成文件|青训营

434 阅读1分钟

这篇主要讲kitex

kitex是字节跳动内部的 Golang 微服务 RPC 框架,具有高性能、强可扩展的特点,如果对微服务性能有要求,又希望定制扩展融入自己的治理体系,Kitex 会是一个不错的选择。(摘抄摘抄,可以去看看官方文档)

RPC 消息协议默认支持 Thrift、Kitex Protobuf、gRPC。现在很多都是Thrift协议生成,不过我们小组选择了Protobuf,自己摸索了好久,就当帮大家踩坑了。

包安装

go get -u github.com/cloudwego/kitex

文件生成

官方给出了proto文件,当然给的是proto2。刚开始用这个写,总会有很多问题,所以推翻重来,改成proto3,好像会好很多,当然因人而异。

proto文件有了后,跳转到proto文件所在的文件下(很重要!!!我弄错了好久!!!)。

注意一下里面的option go_package=,这个包会在kitex_gen下重新生成。生成的文件都会在proto文件下。

然后运行以下命令:

kitex -module your_demo_name -type protobuf -service kitexProtoBuf -I ./ your_proto_name.proto

好了,文件生成了,大概长这样:

image.png

生成的包大概都有这些。我们只需要在handler.go中写我们的实现代码就行。

ok,这部分结束!