名词百科
什么是多租户架构?
一句话定义
多租户架构是一套系统同时服务多个客户(租户),各租户的数据相互隔离、配置互不影响。它是 SaaS 能把成本压低的根本原因。
它到底是什么
多租户的核心不是「能开多个账号」,而是隔离级别:数据怎么隔离、配置怎么隔离、故障怎么隔离。隔离做得越彻底,成本越高;做得越松,越便宜但风险越大。
常见三种隔离模型:共享库共享表(加租户 ID 字段,最省成本)、共享库独立表(每租户一套表)、独立库(每租户一个数据库)。隔离强度依次上升。
怎么运作的
数据隔离:共享表模式下,每条记录带租户 ID,所有查询必须自动附加租户条件。这一层通常由框架拦截,漏一处就是数据泄露。
配置隔离:每个租户可有自己的字段、流程、界面配置。实现方式有按租户覆盖默认值、按租户加载不同配置集。
资源隔离:共享资源时,单个租户的高负载会影响其他租户。需要限流与配额,必要时把大客户迁到独立实例。
升级:所有租户共用一套代码,升级一次全体生效。这是多租户的核心优势,也是客户无法拒绝变更的根源。
容易混的几个概念
- 私有化部署:每客户一套独立环境,隔离最强、成本最高。
- 多实例:同一套代码部署多份,与多租户的共享程度不同。
- 组织 / 部门:系统内部的组织结构,与租户边界不是一回事。
- 数据隔离:多租户的核心约束,与权限控制叠加使用。
常见问题
共享表会不会有数据泄露风险?
有,风险点在「漏加租户条件」。缓解办法是把租户过滤做成框架层强制能力,禁止手写裸查询,并配合数据库行级安全或独立 schema 做加固。
大客户要求独立部署怎么办?
常见做法是混合模式:标准客户用多租户,大客户单独部署一套。代价是两套代码要同步维护,因此需要保证核心代码可复用、差异只出现在配置与部署层。
E 后端架构 · 同组词条
业务中台业务中台是把多个业务线共用的能力(用户、商品、订单、支付、营销)抽取成统一服务,供各业务线调用的架构思路。它强调的是能力复用,而不是技术统一。高并发高并发指系统在同一时间承受大量请求的能力,通常用每秒请求数、并发连接数、响应时间来衡量。它考验的是系统在压力下的稳定性,而不是单次请求的速度。微服务微服务架构是把一个应用拆成多个独立部署、独立运行的小服务,各自负责一块业务能力,通过接口或消息通信。每个服务可单独开发、发布和扩容。负载均衡负载均衡是把请求分发到多台服务器的机制,用于提升处理能力与可用性;CDN 是把静态资源缓存到离用户更近的节点,用于缩短访问延迟。两者都在分散压力,但层级不同。消息队列消息队列是用于在系统之间异步传递消息的中间件:生产者发送消息,消费者按自己的节奏处理。它解决的是解耦、削峰与异步三个问题。云服务器云服务器是可按需租用的虚拟计算资源;域名是网站的访问地址;带宽决定单位时间内能传输的数据量。三者构成网站运行的基础资源。缓存缓存是把访问频繁的数据临时存放在更快的存储介质中,以减少对慢速数据源的访问。常见位置有浏览器、CDN、应用内存、Redis。容器化容器化是把应用及其依赖打包成可移植的镜像,在隔离环境中运行的技术,Docker 是代表性工具;K8s(Kubernetes)是管理大量容器的编排平台,负责调度、扩缩容与自愈。