GO框架三件套分别是Gorm、Kitex、Hertz
- grom: Gorm是—个已经迭代了10年+的功能强大的ORM框架,在字节内部被广泛使用并且拥有非常丰富的开源扩展。
- kitex: Kitex是字节内部的Golang微服务RPC框架,具有高性能、强可扩展的主要特点,支持多协议并且拥有丰富的开源扩展。
- hertz: Hertz是字节内部的HTTP框架,参考了其他开源框架的优势,结合字节跳动内部的需求,具有高易用性、高性能、高扩展性特点。
一、Gorm
GORM 指南 | GORM - The fantastic ORM library for Golang, aims to be developer friendly.
1.1 Gorm的基本使用
Gorm的约定(默认)
- Gorm使用名为ID的字段作为主键
- 使用结构体的蛇形负数作为表名
- 使用结构体的蛇形负数作为表名
- 使用CreatedAt、UpdatedAt字段作为创建、更新时间
1.2 Gorm支持的数据库
GORM目前支持MySQL、SQLServer、PostgreSQL、SQLite。
GORM通过驱动来连接数据库,如果需要连接其它类型的数据库,可以复用/自行开发驱动。
1.3 Gorm创建数据
1.4 Gorm查询数据
1.5 Gorm更新数据
1.6 Gorm删除数据
1.7 Gorm事务
1.8 Gorm Hook
1.9 Gorm性能提升
1.10 Gorm生态
二、Kitex
2.1 安装Kitex代码生成工具
2.2 定义IDL
2.3 Kitex生成代码
2.4 Kitex基础使用
2.5 Kitex Client发起请求
2.6 Kitex服务注册与发现
2.7 Kitex生态
三、Hertz
3.1 Hertz基本使用
3.2 Hertz路由
3.3 Hertz中间件
3.4 Hertz CLient
3.5 Hertz 代码生成工具
3.6 提升Hertz性能
- 使用网络库Netpoll
- Json编解码 Sonic
- 使用sync.Pool复用对象协议层数据解析优化
3.7 Hertz生态
四、EasyNote实践项目
kitex-examples/bizdemo/easy_note at main · cloudwego/kitex-examples (github.com)