Go-Zero 微服务到底怎么学?拆解一套 30 讲的实战课程目录
Go-Zero 这个框架,我断断续续自学过一段时间。官方文档写得不错,但有个问题:它假设你已经知道微服务该怎么拆、RPC 该怎么设计。对后端程序员来说,真正的门槛不在语法,而在“一套完整的微服务项目,到底由哪些部分组成”。
最近学习了大地老师的 Go-Zero 实战课(地址:https://www.itying.com/goods-31915.html ),30 讲正课,每讲 20-40 分钟。我把它的目录按学习路径重新拆了一遍,发现它的结构挺有意思,值得拿出来说说。
第一阶段:Go-Zero API 层(第 1-17 讲)
这部分占了一半以上篇幅,全在讲 API 服务。从环境搭建、goctl 创建项目、.api 文件语法,到集成 MySQL、GORM、JWT、Redis、中间件,基本上是一个 Web 后端该有的全套。
几个我觉得选得准的点:
第 10-11 讲专门讲 GORM 多表关联,一对一、一对多、多对多、子集筛选、自定义预加载 SQL。这些是实际业务里绕不开的,但很多教程一笔带过。
第 15 讲把鉴权、熔断、限流、超时、负载监控五个中间件放在一起讲。Go-Zero 内置了这些治理能力,课程没有只告诉你“有”,而是让你看到它们分别挂在哪里。
第 17 讲集成 Redis,这是缓存层的标配。
学完这 17 讲,你手里有一个能跑的、带鉴权和缓存的单体 API 服务。这是进微服务的前提。
第二阶段:RPC 与 Protobuf 基础(第 18-24 讲)
从单体进微服务,第一道坎是 RPC。课程没有直接上 Go-Zero 的 RPC,而是先用原生方式实现了一遍:第 19 讲用 RPC 实现微服务,第 20 讲做一个 goods 服务,第 21 讲甚至演示了 PHP 跨语言调用 Go 的 RPC 服务。
然后第 22-24 讲讲 Protobuf:安装、序列化/反序列化、message 嵌套、结合 gRPC 创建服务。这部分是微服务通信的底层,先把这里搞懂,后面用 Go-Zero 的 RPC 才不会糊里糊涂。
第三阶段:Go-Zero 微服务与 ETCD(第 25-30 讲)
第 25 讲正式用 Go-Zero 实现微服务,第 26 讲做一个商品微服务。第 27 讲引入 ETCD 注册中心,讲 Go-Zero 怎么集成 ETCD 做负载均衡。第 28 讲做了一个生成二维码的微服务,然后用 Web API 去调用它——这是一个完整的“API 网关调微服务”的闭环。第 30 讲把 ETCD 集群和微服务集群架构放在一起讲,41 分钟,是整套课里最长的一讲。
这套课的几个特点
一是它把“单体 → RPC → gRPC → Go-Zero 微服务”这条路径走完了,不是直接扔给你一个微服务项目让你照着抄。
二是 goctl 的用法贯穿始终,但不止于“敲命令”。.api 文件怎么写、动态路由怎么配、API 怎么模块化,这些在生成代码之前就讲清楚了。
三是配套资源齐全:视频 + 课件 + 源码 + 赞助群 + 技术支持。买课还送一套 Docker K8s 入门实战,以及一套 Golang 面试题 PDF。课程本身包含 52 讲 Golang 基础,如果 Go 语法不熟可以先补。
一点提醒
这套课需要你有 Go 基础,官方说明里写得很清楚。另外教程和电脑绑定,不支持虚拟机,购买前注意一下。每套教程限一人学习,下单要填正确的 QQ 号。
如果你正在找一条从 Go 后端到微服务的完整路径,这套目录的结构值得参考。哪怕不买付费课程,按这个顺序去查官方文档和开源项目,也能少走一些弯路。
