这是我参与「第五届青训营 」伴学笔记创作活动的第 18 天
kitex的基础使用
安装kitex代码生成工具
kitex目前对windows的支持不完善,如果本地开发环境是windows的同学建议使用虚拟机或wsl2.
安装代码生成工具: go install github.com/cloudwego/kitex/tool/cmd/kitex@latest
github.com/cloudwego/thriftgo@latest
定义 IDL
使用IDLA定义服务与接口:如果我们要进行RPC,就需要知道对方的接口是什么,需要传什么参数,同时也需要知道返回值是什么,这时候,就需要通过IDL来约定双方的协议,就像在写代码的时候需要调用某个函数,我们需要知道函数签名一样。
kitex生成代码
使用kitex-module exampl-service example echo.thrift 命令生成代码:build.sh构建脚本,kitex_gen:IDL内容相关的生成代码,主要是基础的server/client代码。main程序入口,handler.go用户在该文件里实现IDLservise定义的方法。
kitex的基本功能
服务默认监听8888端口,创建client,发起请求,kitex的服务注册与发现(目前kietx的服务注册与发现已经对接了主流的注册与发现中心),
hertz基本使用
使用hertz实现,服务监听8080端口并注册了一个get方法的路由函数。
hertz路由
hertz提供了get,post,put,delete,any等方法用于注册路由里面。hertz提供了路由组(group)的能力,用于支持路由分组的功能。hertz提供了参数路由和通配路由,路由优先级为;静态路由大于命名路由大于通配路由。
hertz参数绑定
hertz提供了bind,validate,bindandvalidate函数用于进行参数绑定和校验。
hertz中间件
hertz的中间件主要分为客户端中间件与服务端中间件。
hertz client
hertz提供了http client用于帮助用户发送http请求。
hertz代码生成工具
hertz提供了代码生成工具hz,通过定义IDL文件即可,生成对应的基础服务代码。