1. 课程导学
本课程聚焦于构建一套完整的 Go Web 契约压测闭环 体系,以 gRPC 工程案例为驱动,覆盖从契约定义、代码生成、性能测试到问题排查的全链路实践。本章作为课程导学,将为你呈现全景图、明确目标、定位受众、规划学习路径并梳理前置知识。
核心主张: 契约即压测基线,压测即质量门禁。通过契约驱动压测,实现服务质量的持续验证与闭环反馈。
1.1 课程全景图:Go Web 契约压测闭环
下图展示了本课程的核心架构与流转路径。从契约定义出发,经过代码生成、压测编排、性能采集、结果分析,最终反馈至契约优化,形成完整闭环。
1.2 课程目标
完成本课程后,你将具备以下能力:
| 能力维度 | 具体目标 | 对应章节 |
|---|---|---|
| 契约设计 | 掌握 gRPC Proto 契约编写规范,理解契约即文档、契约即测试的思想 | 第 2-4 章 |
| 代码生成 | 熟练使用 protoc、buf 工具链生成 Go 服务端与客户端代码 | 第 5-6 章 |
| 压测实施 | 独立搭建 gRPC 压测环境,使用 ghz、k6 等工具执行性能测试 | 第 7-12 章 |
| 性能分析 | 通过 pprof、trace、metrics 定位性能瓶颈,量化延迟与吞吐 | 第 13-18 章 |
| 问题排查 | 系统化排查 gRPC 常见问题:连接超时、流控、内存泄漏、死锁等 | 第 19-25 章 |
| 闭环整合 | 将契约压测闭环集成到 CI/CD 流水线,实现质量门禁自动化 | 第 26-30 章 |
1.3 适用人群
本课程面向以下三类核心受众:
- Go 后端开发工程师:希望深入掌握 gRPC 服务开发与性能调优,提升服务稳定性。
- 测试开发 / 质量保障工程师:需要构建契约驱动的压测体系,实现自动化性能验证。
- SRE / 运维工程师:关注服务性能基线、容量规划与线上问题快速定位。
建议: 如果你对 gRPC 仅有基础了解,建议先完成前置知识章节(第 0 章)的快速回顾,再进入主课程。
1.4 学习路径
课程按递进关系分为五个阶段,建议按顺序学习:
1.5 前置知识要求
为获得最佳学习体验,建议具备以下基础:
| 知识领域 | 具体要求 | 推荐资源 |
|---|---|---|
| Go 语言基础 | 熟悉 Go 语法、goroutine、channel、interface、错误处理 | 《The Go Programming Language》前 8 章 |
| 网络编程基础 | 理解 HTTP/2、TCP/IP、RPC 基本概念 | MDN HTTP/2 概述、gRPC 官方文档 |
| Linux 基础 | 常用命令行操作、进程管理、网络工具(curl、netstat) | 《鸟哥的 Linux 私房菜》基础篇 |
| Docker 基础 | 容器化运行服务、docker-compose 编排 | Docker 官方 Get Started 教程 |
注意: 如果你对 Go 的
context 包、net/http 标准库以及 protobuf 序列化机制不熟悉,建议在课程开始前花 1-2 天进行专项补强,否则后续章节的代码实践可能遇到理解障碍。
1.6 课程特色与交付物
本课程区别于纯理论教程,强调工程实战与可复现性:
- 完整工程案例:基于一个真实的电商订单服务,贯穿契约、压测、排查全流程。
- 可运行代码仓库:每章提供独立分支,
git checkout即可复现实验环境。 - 问题排查剧本:模拟 6 个典型线上故障,手把手还原排查思路与工具链操作。
- CI/CD 集成模板:提供 GitHub Actions + Argo Workflows 的压测门禁配置。
课程交付清单: 30 章视频 + 30 份讲义 + 完整源码仓库 + 6 个故障复现环境 + 1 套压测门禁模板。