这是我参与「第五届青训营 」伴学笔记创作活动的第 5 天,本节课主要讲了Gorm、Kitex、Hertz三件套的介绍以及它们的基本用法与常见API讲解,并进行了实战案例的介绍。
1 三件套介绍
- Gorm是一个已经迭代了10年+的功能强大的ORM框架,在字节内部被广泛使用并且拥有非常丰富的开源扩展。
- Kitex是字节内部的Golang微服务PRC框架,具有高性能、强可扩展的主要特点,支持多协议并且拥有丰富的开源扩展。
- Hertz是字节内部的HTTP框架,参考了其他开源框架的优势,结构字节跳动内部的需求,具有高易用性、高性能、高扩展性特点。
2 三件套使用
2.1 Gorm的基本使用
2.2 Gorm支持的数据库
MySQL、SQLServer、SQLite
Gorm 通过驱动来连接数据库,如果需要连接其他类型的数据库,可复用/自行开发驱动。
2.3 Gorm 创建数据
2.4 Grom 查询数据
2.5 Gorm 更新数据
2.6 Gorm 删除数据
数据删除可以分为物理删除与软删除。
2.7 Gorm 事务
Grom提供了Begin、Commit、Rollback方法用于使用事务,并提供了Tansaction方法用于自动提供事务。
3 Kitex
- Kitex的基本使用:服务默认监听8888端口
- Kitex Client发起请求:创建Client、发起请求
- Kitex的服务注册与发现已经对接了服务注册与发现中心
4 Hertz
- 使用Hertz实现,服务监听8080端口并注册了一个GET方法的路由函数
- Hertz提供了GET、POST、PUT、DELETE、ANY等方法用于注册路由
- Hertz提供了路由组的能力,用于支持路由分组的功能
- Hertz提供了参数路由和通配路由,优先级为:静态路由>命名路由>通配路由
- Hertz提供了bind、Validate、BindAndValidate函数用于进行参数绑定和校验
5 实战案例介绍
本节课介绍了一个使用Hertz、Kitex、Gorm搭建出来的具备一定业务逻辑的后端API项目。
6 个人总结
课后应进一步熟悉Gorm、Kitex、Hertz的使用,并回顾笔记项目。