Date: 9/30/2026Category: GoWind风行Tag: Golang, Go-Kratos, GoWind, SaaS
把一套管理系统卖给多家客户(SaaS 化),光有租户隔离还不够——你得回答这三个商业问题:**免费版能用哪些功能?套餐到期了怎么办?用量怎么计量?**多数项目在接第一单时才想起这些,然后用手写 SQL 改库、人工停账号的方式勉强运转。风行(GoWind Admin)把套餐体系做成了平台原生的三层结构:套餐目录、模块白名单、配额计量,配合三档到期处置策略全自动执行。本文拆解这套 SaaS 化运营能力。
一、三层模型:目录、白名单、配额
配置面 sys_plans(套餐目录:版本 / 到期策略 / 描述)
sys_plan_modules(套餐 → 功能模块白名单)
sys_plan_quotas(套餐 → 配额)
│ 管理页维护(租户管理 → 套餐管理 / 配额管理)
▼
绑定面 sys_tenants.plan(套餐外键)+ expired_at(到期时间)
▼
执行面 模块白名单 → HTTP 租户闸门(fail-closed)
到期处置 → 三档策略全自动执行
