Go 框架三件套指南笔记
本指南帮助开发者快速熟悉 Go 框架三件套,包括 Hertz(HTTP 框架) 、Kitex(RPC 框架) 和 Gorm(ORM 框架) ,涵盖环境搭建、框架初体验,以及相关基础知识的学习步骤。
1. 环境搭建
为了高效完成课程学习,需要搭建以下环境并安装相关工具:
1.1 Docker 安装
Docker 用于容器化部署和服务运行。
-
选择工具:
- Minikube: 轻量级 Kubernetes 环境管理工具。
- Docker Desktop: 功能全面,适合多平台。
-
安装步骤:
-
下载工具:
-
安装后启动 Docker 并验证:
bash docker --version
-
1.2 安装 Postman
Postman 是一款广泛使用的 API 测试工具,用于调试 HTTP 和 RPC 服务。
- 下载地址: Postman 官方下载页面
- 安装后: 熟悉 Postman 的基本功能,如请求配置、参数设置等。
1.3 Git 安装
Git 是代码管理的核心工具。
-
安装步骤:
-
下载并安装:Git 官网
-
配置用户名与邮箱:
bash git config --global user.name "Your Name" git config --global user.email "your.email@example.com"
-
1.4 Go 安装
Go 是课程框架的基础,建议使用 Go 1.15 或更高版本。
-
安装步骤:
-
下载 Go:Go 官方下载页面
-
安装后验证:
bash go version
-
2. 框架初体验
接下来通过示例代码快速了解课程涉及的框架:
2.1 Hertz(HTTP 框架)
Hertz 是一款高性能、企业级的 HTTP 框架。
-
体验步骤:
-
阅读 Hertz 官方文档 了解基础概念。
-
克隆仓库:
bash git clone https://github.com/cloudwego/hertz.git cd hertz -
运行示例代码:
bash go run main.go -
通过浏览器或 Postman 测试 API 接口。
-
2.2 Kitex(RPC 框架)
Kitex 是高性能 RPC 框架,用于构建微服务间的通信。
-
体验步骤:
-
阅读 Kitex 文档。
-
克隆仓库并切换到项目目录:
bash git clone https://github.com/cloudwego/kitex.git cd kitex -
配置环境(Windows 用户建议通过 WSL2):
bash go mod tidy -
运行示例代码:
bash 复制代码 go run main.go
-
2.3 Gorm(ORM 框架)
Gorm 是 Go 的流行对象关系映射(ORM)框架,简化了数据库操作。
-
体验步骤:
-
阅读 Gorm 文档。
-
安装 Gorm:
bash go get -u gorm.io/gorm go get -u gorm.io/driver/mysql -
初始化数据库连接:
go import ( "gorm.io/driver/mysql" "gorm.io/gorm" ) func main() { dsn := "user:password@tcp(127.0.0.1:3306)/dbname?charset=utf8mb4&parseTime=True&loc=Local" db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{}) if err != nil { panic("failed to connect database") } fmt.Println("Database connected!") }
-
3. 其它知识点补充
3.1 IDL(接口定义语言)
IDL 是 RPC 框架中用来定义服务接口和数据结构的语言,课程中涉及两种 IDL:
- Thrift IDL: 参考 Thrift IDL 语法文档。
- Proto3 IDL: 参考 Protocol Buffers 文档。
3.2 Etcd 与 Opentracing
- Etcd: 高可用分布式键值存储,用于服务发现和配置管理。参考 Etcd 文档 学习如何部署与使用。
- Opentracing: 分布式追踪标准,帮助分析服务间调用链路,提升微服务性能。参考 Opentracing 文档 学习如何集成到项目中。
总结
本指南旨在帮助开发者从基础环境搭建到实际框架操作中快速入门,并通过补充关键知识点(如 IDL 和分布式组件)全面掌握 Go 框架三件套的应用能力。在学习过程中,推荐多动手实践,结合官方文档深入理解框架特性。