三件套三 | 青训营笔记

80 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 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文件即可,生成对应的基础服务代码。