SaaS 多租户系统是什么

一、基础概念拆解

  1. SaaS:软件即服务,不用本地安装,浏览器/APP直接线上使用,厂商统一部署、维护、升级(钉钉、企业微信、销售易、用友云都是典型SaaS)。
  2. 租户(Tenant):每一个独立使用系统的客户,比如A公司、B门店、个人商户,彼此业务、数据、权限完全隔离。
  3. 多租户(Multi-Tenant)一套底层代码、一套服务器集群,同时给成千上万个租户提供服务,租户之间逻辑隔离,共用底层资源。

与之对比:单租户是一套程序只给一家客户用,单独部署数据库、服务器,成本极高,传统私有化软件就是单租户。

简单一句话:一套系统,分给很多家客户同时用,每家数据互不干扰,就是SaaS多租户系统。

二、三种主流多租户隔离方案(从低成本到高安全)

1. 共享数据库、共享数据表(最简方案)

所有租户数据放同一库、同一张表,靠 tenant_id 租户ID区分每条数据。

  • 优点:部署成本最低、扩容简单、运维方便,中小SaaS普遍使用
  • 缺点:数据混存,隔离最弱,权限设计不好容易泄露
  • 适用:轻量工具类SaaS(表单、CRM、线上商城)

示例:订单表加字段 tenant_id=1001 代表A公司数据,tenant_id=1002 代表B公司。

2. 共享数据库、独立Schema(中等隔离)

共用一个数据库,但每个租户单独一套数据表结构(Schema)。

  • 优点:数据物理分开,隔离更强,单租户故障不影响他人
  • 缺点:库容量上限受限,租户海量时性能下滑
  • 适用:中大型企业SaaS、财务、人事系统

3. 独立数据库(最高隔离)

每个租户单独一套数据库,完全物理隔离。

  • 优点:安全性拉满,满足金融、政务等合规要求
  • 缺点:服务器、运维成本翻倍,扩容麻烦
  • 适用:银行、医疗、政府等高敏感行业SaaS

三、多租户核心特性

  1. 资源共享,成本分摊
    厂商只维护一套系统,不用给每家单独部署,租户订阅付费,价格更低。
  2. 一键统一升级
    厂商更新功能、修复bug,所有租户同步生效,客户不用自己运维。
  3. 租户间强隔离
    A公司看不到B公司的客户、订单、财务数据,权限、菜单、配置独立。
  4. 租户自定义能力
    每家租户可单独配置:logo、菜单、字段、审批流、角色权限,做到“千人千面”。
  5. 按量弹性扩容
    用户变多自动扩容服务器,闲置资源可释放,资源利用率高。

四、举个通俗例子

类比公寓 vs 独栋别墅

  • 多租户SaaS = 高层公寓
    整栋楼一套水电物业(一套系统),每户独立门锁、独立房间(租户隔离),大家共用基础设施,月租便宜。
  • 单租户私有化部署 = 独栋别墅
    整栋房子只归你一家,设施完全独占,但购买、装修、维护费用极高。

五、优缺点总结

优点

  1. 厂商运维成本低,客户订阅价格便宜
  2. 迭代快,新功能所有客户同步更新
  3. 云端弹性伸缩,不用客户自备服务器
  4. 统一安全补丁、数据备份

缺点

  1. 共享底层架构,高敏感行业有数据安全顾虑
  2. 定制化深度有限,很难给某一家做专属底层改造
  3. 租户流量高峰会互相轻微影响性能(可通过架构优化缓解)

六、常见落地产品举例

CRM:纷享销客、销售易
OA/协同:钉钉、飞书、企业微信
财税:金蝶云、用友畅捷通
低代码:明道云、宜搭

补充:多租户开发核心要点(后端开发常用)

  1. 所有业务表必须携带 tenant_id,查询自动拼接租户过滤条件
  2. 全局拦截器自动注入当前登录租户ID,防止漏传导致数据越权
  3. 租户独立配置:域名、权限、存储、套餐、计费
  4. 分库分表架构应对海量租户,解决单库性能瓶颈
  5. 数据脱敏、审计日志,满足等保、隐私合规要求