万象部落的 Gin 系列已经写到第四季,一共 32 篇。这篇文章把散落的四季收成一张图:每篇讲什么、该按什么顺序读、想直奔哪个主题点哪篇。所有链接都是站内文章,点开即读。
四季速览
| 季 | 主题 | 篇数 | 适合谁 |
|---|---|---|---|
| 第一季 | Gin 框架实战 | 12 | 刚装好 Go、要写出第一个能跑的 Web 服务 |
| 第二季 | Gin 进阶实战 | 10 | 基础会了,要限流、熔断、多租户、可观测 |
| 第三季 | Gin 架构实战 | 6 | 服务要拆、要解耦、要扛分布式一致性 |
| 第四季 | Gin 生产实战 | 4 | 要上线:文档、压测、连接池、权限 |
第一季:Gin 框架实战(12 篇)
从零到能写一个分层清晰、带鉴权、能部署的 CRUD 服务。建议按顺序读。
- Gin 入门:10 分钟跑通第一个 HTTP 服务 — 装 gin、写路由、读请求写 JSON,跑起来再说。
- Gin 路由与参数绑定:路径、查询、JSON 一次讲清 — 路径参数、查询参数、表单、JSON 绑定与校验。
- Gin 中间件:执行顺序、自定义与常用中间件 — Next/Abort 机制,登录态、跨域、日志中间件怎么串。
- Gin 统一响应与错误处理:别再到处写 map — 统一 Result 结构 + 全局 recovery + 业务错误码。
- Gin 分组路由与项目分层:controller/service/repository — 按职责拆层,路由注册与依赖注入。
- Gin JWT 鉴权实战:登录签发、中间件校验、刷新 — HS256 签发、中间件取 claims、access/refresh 双 token。
- Gin 接入 MySQL:用 GORM 做 CRUD、事务与迁移 — 建连接、自动迁移、事务、关联查询。
- Gin 生产部署:配置管理、优雅停机与 Docker + Nginx — viper 管配置、SIGTERM 优雅停机、镜像与反代。
- Gin + Redis 缓存:把热点查询从毫秒压到微秒 — Cache-Aside、singleflight 防击穿、批量清缓存。
- Gin 单元测试:用 httptest + testify 守住 handler — 内存打 handler、mock service、表驱动用例。
- Gin + WebSocket:用 gorilla/websocket 做实时推送 — Hub 广播、读写分协程、ping/pong 保活、nginx 反代。
- Gin 结构化日志与链路追踪:zap + OpenTelemetry — JSON 日志、trace_id 串联、OTel span 上报。
第二季:Gin 进阶实战(10 篇)
第一季的 service 能跑之后,往「稳、可观测、能扩展」方向加能力。
- Gin + GraphQL:用 gqlgen 落地 GraphQL 服务 — schema first、resolver 实现、与 REST 共存。
- Gin 接口限流:令牌桶与分布式限流 — 单机令牌桶,redis+lua 做集群统一限流。
- Gin 熔断与重试:保护下游不雪崩 — gobreaker 熔断,指数退避重试。
- Gin 多租户架构:三种隔离方案落地 — 独立库、共享库分 schema、共享表加 tenant_id。
- Gin 集成测试:testcontainers 起真依赖跑 CI — 容器内起 MySQL/Redis,跑真实链路再断言。
- Gin 指标监控:Prometheus 埋点与 Grafana 看板 — 请求量、耗时、错误率埋点,配告警。
- Gin 配置热加载与特性开关 — viper watch 监听,按开关灰度功能。
- Gin 灰度发布与流量调度 — 按 header 或用户比例切流,先放一小撮。
- Gin 异步任务队列:用 asynq 解耦耗时操作 — Redis 背书的延时任务、重试与优先级。
- Gin 安全加固:头部、CORS 与常见攻击防护 — 安全响应头、CORS 配置、注入与越权防范。
第三季:Gin 架构实战(6 篇)
单个服务不够、要拆成多个协作的服务时看这季。
- Gin 微服务拆分:何时拆、边界怎么划、API 网关 — 拆分时机、领域边界、网关职责。
- Gin + gRPC:内部服务间高效通信 — proto 定义、gin 调 grpc、错误码映射。
- 事件驱动架构:用 NATS/Kafka 解耦服务 — 发布订阅、最终一致、幂等消费。
- DDD 分层落地:用 Gin 写出领域模型 — entity、value object、repository 接口怎么落。
- 分布式事务与最终一致性:Saga 与事务消息 — 补偿事务、本地消息表、最大努力通知。
- 服务注册发现与配置中心:consul 与 k8s 原生 — 服务注册、健康探活、配置下发。
第四季:Gin 生产实战(4 篇)
上线前补齐的四块:别人能看懂你的接口、你知道瓶颈在哪、数据库扛得住、权限控得住。
- Gin API 文档:用 Swagger/OpenAPI 自动生成 — swaggo 注解、UI 路由,生产环境收口。
- Gin 性能调优:pprof 剖析与压测 — debug 端口开剖析,vegeta 压测量化,先量再改。
- Gin + MySQL 进阶:连接池调优与读写分离 — 连接池参数、连接泄漏、context 超时、主从读写分离。
- Gin 权限控制:用 casbin 做 RBAC — model/policy 定义、鉴权中间件、与 JWT 衔接。
三条阅读路线
从零入门:按 177 → 188 顺序读完第一季,就能交付一个带鉴权、有缓存、可部署、有测试的 Web 服务。
直接做项目:先跳 177、178、181、182、183 把骨架和数据库跑通,遇到缓存看 185、实时看 187、上线前补 205、206、207、208。
查漏补缺(生产向):按 205、206、207、208 把文档、压测、连接池、权限四块补齐,再用 189–198 加固限流、熔断、多租户、监控、安全。
需要哪篇直接点上面的链接。如果某一篇讲得不够透,告诉我,我接着补。