1. 课程导学与整体架构:Go微服务中间件链路开发环境全景图
1.1 课程全景与定位
本课程面向已经掌握Go基础语法、了解微服务基本概念的开发者,聚焦于中间件链路开发环境的搭建、配置与调试。你将不再只是“写代码”,而是学会如何构建一个可运行、可调试、可复现的本地微服务中间件沙箱。
课程核心目标: 在本地单机环境下,通过Docker Compose + Go工具链,完整搭建一条包含网关、注册中心、配置中心、链路追踪、日志聚合、消息队列的微服务中间件链路,并实现跨服务的远程调试与断点追踪。
1.2 全景图:Go微服务中间件链路开发环境
下图展示了本课程将要搭建的完整环境拓扑。每个组件都将在后续章节中逐一落地。
1.3 课程目标与学习路径
本课程共30章,分为四个阶段。下表清晰展示了每个阶段的核心产出与关键技能。
| 阶段 | 章节范围 | 核心产出 | 关键技能 |
|---|---|---|---|
| 基础环境 | 第1-5章 | Docker Compose 编排 + Go 多模块项目结构 | docker-compose.yml 编写、Go workspace、Makefile 自动化 |
| 中间件集成 | 第6-15章 | Consul 注册中心 + Jaeger 链路追踪 + Prometheus 监控 | gRPC/HTTP 双协议注册、OpenTelemetry 埋点、指标暴露 |
| 调试与测试 | 第16-25章 | 远程调试 + 集成测试 + 日志聚合 | Delve 远程调试、docker-compose 调试模式、ELK/Loki 日志 |
| 生产化 | 第26-30章 | CI/CD 流水线 + 环境一致性保障 | GitHub Actions、Docker 多阶段构建、环境差异排查 |
1.4 前置知识清单
为了确保学习效果,建议在开始本课程前掌握以下技能。如果某项不熟悉,课程附录提供了快速补强资源。
- Go 语言基础:结构体、接口、goroutine、channel、标准库 net/http、context。
- Docker 基础:镜像拉取、容器运行、Dockerfile 编写、docker-compose 基本指令。
- 微服务概念:服务注册与发现、负载均衡、熔断降级、分布式追踪的基本术语。
- Linux 命令行:文件操作、网络排查(ping、telnet、curl)、环境变量设置。
💡 学习建议: 每章都配有可运行的代码仓库分支。建议先通读本章内容,再动手拉取代码、运行环境、观察现象,最后尝试修改配置或代码来验证理解。不要跳过“动手调试”环节。
1.5 开发环境全景图(组件关系)
下图从数据流角度展示了请求从外部进入后,经过各中间件和服务的完整路径。这是后续每章调试配置的底层逻辑。
1.6 课程特色与学习公约
- 可复现:每章提供完整的 docker-compose 文件和代码分支,保证环境一致性。
- 可调试:所有中间件和服务均配置了远程调试端口,支持断点、日志、指标三联动。
- 可扩展:课程采用插件式架构设计,新增中间件或服务只需修改配置文件,无需改动核心代码。
⚠️ 重要提醒: 本课程所有环境均基于
docker-compose 运行,请确保你的开发机已安装 Docker Desktop 20.10+ 或 Docker Engine 20.10+。Windows 用户建议使用 WSL2 后端。如果遇到端口冲突,请优先检查本地是否已运行同类服务(如本地 MySQL、Redis 等)。