Go 框架三件套(Web/RPC/ORM) | 青训营X豆包MarsCode 技术训练营

82 阅读3分钟

Go 框架三件套指南笔记

本指南帮助开发者快速熟悉 Go 框架三件套,包括 Hertz(HTTP 框架)Kitex(RPC 框架)Gorm(ORM 框架) ,涵盖环境搭建、框架初体验,以及相关基础知识的学习步骤。


1. 环境搭建

为了高效完成课程学习,需要搭建以下环境并安装相关工具:

1.1 Docker 安装

Docker 用于容器化部署和服务运行。

  • 选择工具:

    • Minikube: 轻量级 Kubernetes 环境管理工具。
    • Docker Desktop: 功能全面,适合多平台。
  • 安装步骤:

    1. 下载工具:

    2. 安装后启动 Docker 并验证:

      bash
      docker --version
      

1.2 安装 Postman

Postman 是一款广泛使用的 API 测试工具,用于调试 HTTP 和 RPC 服务。

1.3 Git 安装

Git 是代码管理的核心工具。

  • 安装步骤:

    1. 下载并安装:Git 官网

    2. 配置用户名与邮箱:

      bash
      git config --global user.name "Your Name"
      git config --global user.email "your.email@example.com"
      

1.4 Go 安装

Go 是课程框架的基础,建议使用 Go 1.15 或更高版本


2. 框架初体验

接下来通过示例代码快速了解课程涉及的框架:

2.1 Hertz(HTTP 框架)

Hertz 是一款高性能、企业级的 HTTP 框架。

  • 体验步骤:

    1. 阅读 Hertz 官方文档 了解基础概念。

    2. 克隆仓库:

      bash
      git clone https://github.com/cloudwego/hertz.git
      cd hertz
      
    3. 运行示例代码:

      bash
      go run main.go
      
    4. 通过浏览器或 Postman 测试 API 接口。

2.2 Kitex(RPC 框架)

Kitex 是高性能 RPC 框架,用于构建微服务间的通信。

  • 体验步骤:

    1. 阅读 Kitex 文档

    2. 克隆仓库并切换到项目目录:

      bash
      git clone https://github.com/cloudwego/kitex.git
      cd kitex
      
    3. 配置环境(Windows 用户建议通过 WSL2):

      bash
      go mod tidy
      
    4. 运行示例代码:

      bash
      复制代码
      go run main.go
      

2.3 Gorm(ORM 框架)

Gorm 是 Go 的流行对象关系映射(ORM)框架,简化了数据库操作。

  • 体验步骤:

    1. 阅读 Gorm 文档

    2. 安装 Gorm:

      bash
      go get -u gorm.io/gorm
      go get -u gorm.io/driver/mysql
      
    3. 初始化数据库连接:

      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:

3.2 Etcd 与 Opentracing

  • Etcd: 高可用分布式键值存储,用于服务发现和配置管理。参考 Etcd 文档 学习如何部署与使用。
  • Opentracing: 分布式追踪标准,帮助分析服务间调用链路,提升微服务性能。参考 Opentracing 文档 学习如何集成到项目中。

总结

本指南旨在帮助开发者从基础环境搭建到实际框架操作中快速入门,并通过补充关键知识点(如 IDL 和分布式组件)全面掌握 Go 框架三件套的应用能力。在学习过程中,推荐多动手实践,结合官方文档深入理解框架特性。