这条路线使用 Go 标准库建立服务边界,再以有界任务工程练习并发与可靠性。掌握这些之后,如果项目需要 Gin 等框架,可以把它作为路由、绑定和中间件的替换选择;不需要为了学习后端先收集所有框架。
先准备什么
安装 Go 1.22 或更高版本,能使用命令行和 go.mod。运行切片与错误实验,说明共享底层数据、errors.Is、context 与 defer 的行为。不会网络或数据库基础时,按路线中的公共节点补齐。
跟着两个实验推进
HTTP 实验验证媒体类型、大小、未知字段、尾随 JSON 和错误方法;任务工程再增加状态查询、幂等键、队列上限、令牌和取消。先运行测试,再尝试制造失败,不要把后台 goroutine 仍在运行当成“系统处理成功”。
共用 SQL 节点用于理解持久数据、事务和查询成本;任务示例当前是内存存储,因此这部分不是已经接入的功能。持久化练习要明确确认接收、认领、重试和进程恢复时各自的原子边界。
完成条件
能够运行 go test 与 go vet,按测试稳定复现队列满、重复键冲突和服务取消。能解释 202 与可靠落库的区别,指出哪些状态会在重启后消失。具备平台工具链时再执行 race detector,并记录实际结果。
进阶练习是为任务工程接 PostgreSQL 与可靠队列:进程被终止后仍能恢复已确认任务,重复投递不会产生重复外部效果,并有可检查的失败与重放记录。最后结合交付节点建立观测和恢复演练,不以多开几个 goroutine 代表系统已具备容量。