跳到主要内容

Go 语言(GoStartKit 后端)

本教程GoStartKit 风格的模块化 Go 后端为对象,对照参考工程:

gostartkit/stub/golang/base

讲解如何理解、本地运行、扩展与部署这类项目——不是传统 Hello World / 语法扫盲课。

你会学到什么

  • 为什么默认用 模块化单体(modular monolith),而不是一上来拆微服务
  • 仓库目录、services/* 模块形态、libs/contracts 边界
  • 如何本地启动 monolith、迁移数据库、做 smoke
  • HTTP 与启动框架约束(pkg.gostartkit.com/webpkg.gostartkit.com/cmd
  • 配置、安全与二进制发布部署路径

适合谁

  • 有一门语言基础,想用 Go 做可交付后端 的开发者
  • 需要理解「业务模块边界 + 单体部署」的团队
  • 使用或二次开发 GoStartKit / gskctl 相关脚手架的工程师

先备条件

  • 已安装 Go 1.22+(参考工程可能要求更新版本,以该仓库 go.mod 为准)
  • 熟悉命令行、git、HTTP JSON API 基本概念
  • 可选:MySQL(本地默认可用 SQLite 路径,见本地开发文档)

文档目录

建议阅读顺序

  1. 项目概览 — 目标、原则、能力边界
  2. 环境准备 — Go、工具、仓库
  3. 架构与目录 — 单体 / 模块 / contracts
  4. 模块怎么写 — domain / application / adapter
  5. 本地开发 — run、migrate、smoke
  6. 配置说明 — 关键环境变量
  7. API 与鉴权导读 — 对外接口怎么读
  8. 构建与部署 — 二进制发布与 systemd

工程协作规范(提需求、验收、变更)见 工程规范与流程,与本教程互补。