多租户SaaS
一句话:一个系统服务多个客户或团队,并保证每个客户的数据、权限和配置互相隔离。
它是什么
多租户SaaS是软件服务常见架构。比如同一个AI工具平台可以给A公司、B公司、C公司使用,但每家公司只能看到自己的用户、订单、知识库和付费状态。它是把AI产品从个人工具做成可卖系统时必须理解的基础。
适合干什么
- 准备做AI工具站的人
- 想卖给多个客户的SaaS项目
- 需要团队空间、会员、后台管理的系统
- 从单用户产品升级到企业客户的人
不适合干什么
- 只给自己用的小脚本
- 一次性交付的静态网站
- 没有账号和数据隔离需求的项目
- 还没验证需求就过度设计的人
普通人怎么用
- 先确定租户是什么:公司、团队还是个人
- 每张核心数据表都关联租户ID
- 登录后只查询当前租户的数据
- 后台管理区分平台管理员和租户管理员
- 测试不同租户是否能互相访问数据
进阶用户怎么用
- 为租户设置套餐、额度和功能开关
- 按租户隔离知识库、文件和API Key
- 建立审计日志
- 为大客户预留独立部署或独立数据库方案
常见误区
- 早期没加租户ID,后期改表非常痛苦
- 只在前端隐藏数据,后端没有隔离
- 平台管理员和客户管理员权限混在一起
- 没有测试越权访问
和相似工具的区别
- 多租户SaaS vs 单租户系统:多租户多个客户共用一套系统,单租户通常每个客户一套独立系统。
- 多租户 vs 多用户:多用户只是多个账号,多租户强调团队或客户之间的数据隔离。
入门步骤
- 定义租户模型
- 设计用户和租户关系
- 给核心表加租户字段
- 后端查询加租户过滤
- 设置角色权限
- 做越权测试
推荐工具(第三方)
PostgreSQL、Supabase、Prisma、Next.js、Clerk