这篇主要讲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
好了,文件生成了,大概长这样:
生成的包大概都有这些。我们只需要在handler.go中写我们的实现代码就行。
ok,这部分结束!