← 返回博客
go2026-09-12 22:52:215 分钟 · 1,512 0

Gin 系列总导航:32 篇从跑通到生产实战

把万象部落 32 篇 Gin 文章按四季串成一张导航图,从第一个 HTTP 服务到微服务、DDD、生产调优与 RBAC,并给出三条阅读路线。

#gin#go#系列导航

万象部落的 Gin 系列已经写到第四季,一共 32 篇。这篇文章把散落的四季收成一张图:每篇讲什么、该按什么顺序读、想直奔哪个主题点哪篇。所有链接都是站内文章,点开即读。

四季速览

主题篇数适合谁
第一季Gin 框架实战12刚装好 Go、要写出第一个能跑的 Web 服务
第二季Gin 进阶实战10基础会了,要限流、熔断、多租户、可观测
第三季Gin 架构实战6服务要拆、要解耦、要扛分布式一致性
第四季Gin 生产实战4要上线:文档、压测、连接池、权限

第一季:Gin 框架实战(12 篇)

从零到能写一个分层清晰、带鉴权、能部署的 CRUD 服务。建议按顺序读。

  1. Gin 入门:10 分钟跑通第一个 HTTP 服务 — 装 gin、写路由、读请求写 JSON,跑起来再说。
  2. Gin 路由与参数绑定:路径、查询、JSON 一次讲清 — 路径参数、查询参数、表单、JSON 绑定与校验。
  3. Gin 中间件:执行顺序、自定义与常用中间件 — Next/Abort 机制,登录态、跨域、日志中间件怎么串。
  4. Gin 统一响应与错误处理:别再到处写 map — 统一 Result 结构 + 全局 recovery + 业务错误码。
  5. Gin 分组路由与项目分层:controller/service/repository — 按职责拆层,路由注册与依赖注入。
  6. Gin JWT 鉴权实战:登录签发、中间件校验、刷新 — HS256 签发、中间件取 claims、access/refresh 双 token。
  7. Gin 接入 MySQL:用 GORM 做 CRUD、事务与迁移 — 建连接、自动迁移、事务、关联查询。
  8. Gin 生产部署:配置管理、优雅停机与 Docker + Nginx — viper 管配置、SIGTERM 优雅停机、镜像与反代。
  9. Gin + Redis 缓存:把热点查询从毫秒压到微秒 — Cache-Aside、singleflight 防击穿、批量清缓存。
  10. Gin 单元测试:用 httptest + testify 守住 handler — 内存打 handler、mock service、表驱动用例。
  11. Gin + WebSocket:用 gorilla/websocket 做实时推送 — Hub 广播、读写分协程、ping/pong 保活、nginx 反代。
  12. Gin 结构化日志与链路追踪:zap + OpenTelemetry — JSON 日志、trace_id 串联、OTel span 上报。

第二季:Gin 进阶实战(10 篇)

第一季的 service 能跑之后,往「稳、可观测、能扩展」方向加能力。

  1. Gin + GraphQL:用 gqlgen 落地 GraphQL 服务 — schema first、resolver 实现、与 REST 共存。
  2. Gin 接口限流:令牌桶与分布式限流 — 单机令牌桶,redis+lua 做集群统一限流。
  3. Gin 熔断与重试:保护下游不雪崩 — gobreaker 熔断,指数退避重试。
  4. Gin 多租户架构:三种隔离方案落地 — 独立库、共享库分 schema、共享表加 tenant_id。
  5. Gin 集成测试:testcontainers 起真依赖跑 CI — 容器内起 MySQL/Redis,跑真实链路再断言。
  6. Gin 指标监控:Prometheus 埋点与 Grafana 看板 — 请求量、耗时、错误率埋点,配告警。
  7. Gin 配置热加载与特性开关 — viper watch 监听,按开关灰度功能。
  8. Gin 灰度发布与流量调度 — 按 header 或用户比例切流,先放一小撮。
  9. Gin 异步任务队列:用 asynq 解耦耗时操作 — Redis 背书的延时任务、重试与优先级。
  10. Gin 安全加固:头部、CORS 与常见攻击防护 — 安全响应头、CORS 配置、注入与越权防范。

第三季:Gin 架构实战(6 篇)

单个服务不够、要拆成多个协作的服务时看这季。

  1. Gin 微服务拆分:何时拆、边界怎么划、API 网关 — 拆分时机、领域边界、网关职责。
  2. Gin + gRPC:内部服务间高效通信 — proto 定义、gin 调 grpc、错误码映射。
  3. 事件驱动架构:用 NATS/Kafka 解耦服务 — 发布订阅、最终一致、幂等消费。
  4. DDD 分层落地:用 Gin 写出领域模型 — entity、value object、repository 接口怎么落。
  5. 分布式事务与最终一致性:Saga 与事务消息 — 补偿事务、本地消息表、最大努力通知。
  6. 服务注册发现与配置中心:consul 与 k8s 原生 — 服务注册、健康探活、配置下发。

第四季:Gin 生产实战(4 篇)

上线前补齐的四块:别人能看懂你的接口、你知道瓶颈在哪、数据库扛得住、权限控得住。

  1. Gin API 文档:用 Swagger/OpenAPI 自动生成 — swaggo 注解、UI 路由,生产环境收口。
  2. Gin 性能调优:pprof 剖析与压测 — debug 端口开剖析,vegeta 压测量化,先量再改。
  3. Gin + MySQL 进阶:连接池调优与读写分离 — 连接池参数、连接泄漏、context 超时、主从读写分离。
  4. 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 加固限流、熔断、多租户、监控、安全。

需要哪篇直接点上面的链接。如果某一篇讲得不够透,告诉我,我接着补。

相关推荐

本文为原创文章,采用CC BY-NC-SA 4.0协议授权,转载请保留署名与原文链接。原文链接:https://www.wxbuluo.com/article/209