这是我参与「第五届青训营 」笔记创作活动的第6天,今天我学习了如何使用Kitex框架搭建一个微服务。
运行环境
Kitex在Windows上的支持并不完善,所以为了能够体验Kitex,我选择使用wsl2,具体的安装可以参考微软官方,我就不详细写了。下面主要是踩坑。
vscode配置问题
这个插件没有安装导致在终端中输入code .打开的vscode编辑器功能不完善,没法进行代码跳转等,安装之后再在终端中输入code .打开的vscode就以一个remote ssh的形式连接到wsl中,默认的终端也是wsl中的终端而不是vscode默认终端。
kitex工具无法运行的问题
需要配置好环境变量。
输入sudo vim /etc/profile打开文件并添加export PATH=$PATH:/YOUR/PATH/go/bin
如果需要立刻生效可以输入source /etc/profile
wsl2 网络的问题
由于wsl2是虚拟机机制,所以默认不会走系统的代理,所以需要额外增加一些代理规则export ALL_PROXY="http://172.21.192.1:7890"
thrift版本的问题
由于thrift最新版本与kitex不兼容,所以需要输入go mod edit -replace github.com/apache/thrift=github.com/apache/thrift@v0.13.0切换版本
做一个小DEMO
按照官方的教程走做了一个小DEMO来试试,下面类比之前的grpc来写一些感受。
代码生成工具
用kitex工具生成代码,官方生成的代码,相较于用protobuf生成的代码,kitex工具生成的代码更丰富,换而言之,更傻瓜,基本上只要填上逻辑就能跑,相比而言,grpc还需要自己写连接等等。
扩展
在grpc时,如果需要接入nacos做服务发现,就需要自己参考nacos的官方文档,kitex有提供的registry-nacos,kitex除了性能优势,更多的优势还在其的扩展性上吧。