Announcement

👇Official Account👇

图片

Welcome to join the group & private message

Article first/tail QR code

Skip to content

🚀 Go 后端工程师成长路线

从语言基础到微服务架构,打造企业级 Go 后端开发能力

课程信息说明
难度🟢 入门 → 🔴 高级
预计时长8-12 周(建议学习节奏)
课程模块5 大核心模块 + 综合实战
课时数量20+ 课时
实战项目企业级博客 API 系统
前置知识基础编程知识,了解 HTTP 协议

🎯 课程目标

完成本课程后,你将能够:

  • 掌握 Go 核心特性 - 并发编程、内存管理、GC 调优
  • 构建 Web 应用 - 熟练使用 Gin/Echo 框架开发 RESTful API
  • 设计数据库 - MySQL/PostgreSQL schema 设计、索引优化、事务处理
  • 实现微服务 - 服务拆分、gRPC 通信、服务发现、负载均衡
  • 建立可观测性 - 日志收集、指标监控、分布式 Trace、告警体系
  • 容器化部署 - Docker 镜像构建、Kubernetes 部署、CI/CD流水线

📚 课程大纲

🔹 模块 1:Go 核心进阶(3-4 周)

目标: 深入理解 Go 语言核心机制,写出高效、 idiomatic 的 Go 代码

课时主题内容状态
1.1Go 内存管理与分配栈与堆、逃逸分析、内存池📝
1.2并发编程核心Goroutine、Channel、select、Context
1.3并发模式实战Worker 池、Pipeline、Fan-in/Fan-out
1.4Go GC 机制与调优GC 算法、STW 优化、GOGC 调参
1.5性能分析与优化pprof、trace、benchmark、SIMD 优化
1.6Go 1.26 新特性泛型进阶、标准库更新📝

推荐文章:

  • [Go 语言并发模式实战指南](/thinking/method/Go 语言并发模式实战指南.md)
  • [Go 1.26 SIMD 编程实战](/dev/backend/golang/Go%201.26%20SIMD 编程实战:从入门到高性能优化.md)
  • [深入理解 Go Channel 批量读取](/dev/backend/golang/深入理解 Go%20Channel%20 批量读取与实际应用.md)
  • [Go 零拷贝读取器实战与原理解析](/dev/backend/golang/Go%20 零拷贝读取器实战与原理解析.md)
  • [runtime.free 打破 Go GC 性能瓶颈](/dev/backend/golang/runtime.free%20 打破 Go%20GC 性能瓶颈的秘密武器.md)
  • [Stop-The-World 其实没停下](/dev/backend/golang/Stop-The-World 其实没停下-Go-GC-的微暂停真相.md)

🔹 模块 2:Web 框架实战(2 周)

目标: 掌握主流 Go Web 框架,能够设计和实现高质量的 RESTful/gRPC API

课时主题内容状态
2.1Web 框架选型Gin vs Echo vs Fiber vs Chi
2.2Gin 框架核心路由、中间件、参数绑定、验证📝
2.3RESTful API 设计资源命名、HTTP 方法、状态码、版本控制
2.4认证与授权JWT、OAuth2、RBAC 权限模型📝
2.5中间件开发日志、CORS、限流、熔断、链路追踪📝
2.6gRPC 入门Protocol Buffers、服务定义、客户端/服务端📝

推荐文章:

  • [2025 年最佳 Go Web 框架深度解析](/thinking/method/2025 年最佳 Go-Web 框架深度解析:资深开发者的选择指南.md)
  • [如何实现 RESTful API 版本控制](/dev/backend/golang/如何实现%20RESTful%20API%20 版本控制.md)
  • [接口参数设计 - 多场景复用的优雅之道](/dev/backend/golang/接口参数设计 - 多场景复用的优雅之道.md)
  • [基于 golang 的高性能游戏接口设计](/thinking/method/基于 golang%20 的高性能游戏接口设计.md)

🔹 模块 3:数据库设计与优化(2 周)

目标: 掌握关系型数据库和 NoSQL 的设计原则、性能优化技巧

课时主题内容状态
3.1MySQL 基础与进阶数据类型、索引、事务、锁机制📝
3.2PostgreSQL 实战高级特性、JSONB、全文检索📝
3.3Redis 缓存设计数据结构、持久化、集群、缓存策略📝
3.4ClickHouse OLAP列式存储、物化视图、查询优化
3.5GORM 与 sqlxORM 选型、性能对比、最佳实践📝
3.6数据库优化实战慢查询分析、执行计划、分库分表📝

推荐文章:


🔹 模块 4:微服务架构(2-3 周)

目标: 掌握微服务架构设计原则、服务拆分、通信与治理

课时主题内容状态
4.1微服务架构设计单体 vs 微服务、拆分原则、DDD 入门📝
4.2服务通信gRPC、REST、消息队列(Kafka/RabbitMQ)📝
4.3服务发现与注册Consul、etcd、Kubernetes Service📝
4.4负载均衡客户端负载均衡、服务端负载均衡📝
4.5服务治理熔断、降级、限流、重试、超时📝
4.6配置中心环境变量、ConfigMap、Apollo📝
4.7API 网关Kong、Traefik、自研网关📝

推荐文章:

  • [GitOps 实战:从应用部署到全生命周期管理](/thinking/method/GitOps 实战 - 从应用部署到全生命周期管理.md)
  • [高质量 Golang 后端的现代软件工程原则](/thinking/method/高质量 Golang 后端的现代软件工程原则.md)

🔹 模块 5:可观测性体系(1-2 周)

目标: 建立完整的监控、日志、追踪体系,快速定位和解决生产问题

课时主题内容状态
5.1可观测性基础日志、指标、Trace 三大支柱📝
5.2日志系统设计结构化日志、日志收集(Loki/ELK)
5.3指标监控Prometheus、Grafana、告警规则📝
5.4分布式追踪OpenTelemetry、Jaeger、SkyWalking
5.5Go 可观测性实战埋点、上下文传播、性能分析
5.6告警与值班告警分级、降噪、On-call 流程📝

推荐文章:

  • [从 trace 到洞察:Go 项目的可观测性闭环实践](/thinking/method/从%20trace%20 到洞察:Go%20 项目的可观测性闭环实践.md)
  • [别再盲接 OTel:Go 可观察性接入的 8 个大坑](/thinking/method/别再盲接%20OTel:Go%20 可观察性接入的%208%20 个大坑.md)
  • [使用 Devslog 结构化日志处理](/tools/使用 Devslog 结构化日志处理.md)

🏆 综合实战项目

企业级博客 API 系统

项目描述: 从零开始构建一个支持高并发、可扩展的博客平台后端 API

技术栈:

  • Go 1.21+ (Gin 框架)
  • MySQL + Redis
  • Elasticsearch(全文检索)
  • Docker + Kubernetes
  • Prometheus + Grafana

核心功能:

  • 用户认证与授权(JWT + RBAC)
  • 文章 CRUD、标签分类、全文搜索
  • 评论系统、点赞收藏
  • 阅读统计、数据分析
  • 限流、熔断、降级
  • 完整的可观测性体系

项目模块:

  1. 项目搭建 - 目录结构、依赖管理、配置加载
  2. 用户模块 - 注册、登录、权限管理
  3. 文章模块 - 发布、编辑、删除、搜索
  4. 互动模块 - 评论、点赞、收藏
  5. 统计模块 - 阅读量、PV/UV、数据可视化
  6. 部署上线 - Docker 镜像、K8s 部署、CI/CD

📖 学习资源

必读文档

推荐书籍

  • 《Go 程序设计语言》
  • 《Go 语言实战》
  • 《Go 语言设计与实现》

工具推荐

  • IDE: GoLand / VS Code + Go 插件
  • 包管理: Go Modules
  • 代码格式化: gofmt, goimports
  • 静态检查: golangci-lint
  • 测试: testing, testify, gomock

🎓 学习建议

1️⃣ 按顺序学习

课程模块设计有前后依赖关系,建议按顺序学习。

2️⃣ 动手实践

  • 每个课时都有代码示例
  • 完成课后练习
  • 参与实战项目开发

3️⃣ 建立知识体系

  • 做笔记、画思维导图
  • 写技术博客总结
  • 参与社区讨论

4️⃣ 持续复习

  • 定期回顾核心概念
  • 关注 Go 语言更新
  • 阅读优秀开源项目

📊 课程进度追踪

模块进度状态
模块 1:Go 核心进阶6/6✅ 已完成
模块 2:Web 框架实战2/6🚧 进行中
模块 3:数据库设计与优化1/6📝 规划中
模块 4:微服务架构0/7📝 规划中
模块 5:可观测性体系3/6🚧 进行中
综合实战项目0/6📝 规划中

总体进度: 12/31 (39%)


🤝 参与贡献

欢迎通过以下方式参与课程建设:

  • 📝 补充内容:完善规划中的课时
  • 🐛 报告问题:发现错误或不清晰的地方
  • 💡 提出建议:新课程想法或改进建议

GitHub 仓库 | 联系作者


📬 课程更新

日期更新内容
2025-03-09课程框架创建完成
2025-XX-XX模块 1 内容填充
2025-XX-XX实战项目启动

💡 提示:课程持续更新中,建议收藏本页面。学习过程中遇到问题,欢迎在评论区留言讨论。

返回课程总览 →

上次更新于: