多租户隔离(Multi-Tenancy)指的是同一套软硬件系统同时服务多个互相独立的客户(租户),并保证各租户的密钥、数据、缓存和资源配额互不可见、互不干扰。
打个比方:一栋写字楼里有很多公司。大家共用电梯、中央空调和物业,但每家公司有自己的门禁、办公室和文件柜。租户之间不该能推开对方办公室的门,也不该在电梯里捡到对方的合同。推理服务也一样:多个客户共享显卡、模型权重和调度器,但请求、提示词和缓存必须各归各。
具体怎么做到?请求进来时先带租户身份。API Key 查出租户 ID,这个 ID 会贯穿整条链路。
- 认证与配额:每个租户有独立密钥、限流和用量统计,一个客户被打满不会把其他人拖垮。
- 数据面:日志、追踪、训练数据按租户打标;跨租户读取默认拒绝。
- 缓存:这是推理场景最容易出事的地方。为了加速,服务会缓存键值对(AI 词典:KV Cache">KV Cache)、嵌入向量和完整回答。缓存键里必须带租户 ID,否则 A 的上下文可能被 B 命中,轻则答非所问,重则泄露提示词。
- 计算与存储:严格的场景会用独立进程、容器甚至独立集群;宽松的场景共享进程,但靠租户上下文做逻辑隔离。
很多人把多租户和多用户混为一谈。多用户是同一家公司内部的多个账号,通常共享数据空间;多租户则以“客户”为边界,往往还涉及计费、合规和删除义务。另一个相邻概念是单租户部署:每个客户一套实例,隔离最强,但成本和运维压力也最高。多租户是拿共享换效率,前提是隔离做扎实。
| 维度 | 逻辑隔离 | 物理隔离 |
|---|---|---|
| 做法 | 共享进程,靠租户 ID 分区 | 独立进程/容器/机器 |
| 成本 | 低 | 高 |
| 风险 | 代码漏洞可能导致串味 | 跨租户风险很低 |
| 适用 | 内部工具、低敏感场景 | 强合规、高敏感数据 |
对从业者来说,租户 ID 应该像用户 ID 一样成为一等公民:缓存键要带它,日志要脱敏,密钥不落共享文件,删除请求要能追踪到所有副本。对采购方或普通职场人来说,选 AI 服务时可以问三个问题:我的数据会被用来服务其他客户吗?缓存和日志怎么隔离?注销后多久删除?具体承诺以官方文档和合同为准。
多租户不是“把大家放一起就完事”,而是一套从密钥到缓存的边界管理。
