Agent 应用开发会员账号
知识目录选择核心方向与细分内容
知识单元 58高级场景设计约 18 分钟

理解 → 实现 → 排错 → 取舍

租户隔离与执行面的权限连续性

考察控制面、执行面、数据隔离、容量和渐进交付。

平台架构多租户交付

知识内容核对 2026-10-03 · 原题来源核对 2026-10-02

这个知识点,你想学到哪一步?

按当前基础选择起点,也可以依次深入。遇到不熟悉的概念,先回到核心原理;完成后用知识练习检查理解。

先理解

刚接触这个知识点

补齐先备概念,读原理与反例,再用自己的话解释为什么。

从核心原理开始 →

再实现

准备把原理写进代码

理解实现步骤与边界,完成小任务,对照验收要求检查结果。

阅读实现与取舍 →

会排错

需要处理故障与条件变化

沿连续追问定位失效前提,再比较迁移案例,说明方案应如何调整。

沿问题继续深入 →

能取舍

需要设计或评审方案

结合工程推演与资深自评标准,解释方案的适用条件、代价和替代选择。

分析工程场景 →
知识单元目录

LEARN · PRACTICE · REFLECT

知识学习与个人记录

我的笔记与复习 ↗

先沿着原理、问答和迁移案例阅读。需要检查理解时,再切换巩固练习或展开个人记录。

作答与个人记录

每次修改后的提交会保留为独立历史。掌握程度由你对照标准自评。

核心知识 · 租户隔离与执行面的权限连续性

先理解核心原理

先备概念:可信身份、行级权限、控制面与执行面

租户隔离要贯穿读取、缓存、模型上下文、日志、产物与恢复。可信租户来自认证与服务策略,每一次恢复或降级都必须保持同样授权边界。

Demo 的隐含条件会消失

单用户 Demo 常默认所有文档可读、只有一个 worker、错误靠人工盯着。多租户后,相同问题在不同组织有不同答案,资源竞争和日志查询也能泄露。先把身份、数据范围、任务键和配额放到执行入口,再由各访问点强制。

一层 RLS 不覆盖所有副本

数据库 RLS 可以限制行,但超级用户、BYPASSRLS 与通常的表所有者有绕过边界;连接角色必须检查。向量候选、共享缓存、trace 和下载链接是另外的存储路径,同样需要授权。数据进模型之后再过滤最终回答,已经太晚。

恢复与控制故障也会越界

旧备份可能复活已删除正文,旧权限缓存可能让执行继续。恢复在隔离环境重放当前删除与权限信息;控制面不可用时只能按明确期限使用仍可信策略,敏感许可不明则暂停。下面架构是教学建议,未实现完整平台或验证任何合规义务。

用一个问题检查理解

从一个 Demo 扩展到企业多租户 Agent 平台,你会先补哪几层?

先明确服务对象、任务风险与服务目标,再补可信身份、租户隔离、任务持久化、工具网关、配额、审计和评测发布。控制面管理配置与策略,执行面负责受限运行,数据按租户与权限范围隔离。优先交付一种可验证的任务闭环,证明可靠性和单位成本,再扩展功能;不以微服务数量或接入模型数量衡量平台成熟度。

实现与取舍

先问约束而不是画满组件

确认交互还是批量任务、峰值并发、平均执行时长、数据敏感级别、写动作范围和恢复目标。把这些转成任务完成时限、队列等待、预算和恢复要求。没有这些信息,无法决定是否需要独立调度、强隔离执行环境或区域部署。

控制面与执行面职责

控制面保存租户配置、模型与工具版本、权限、配额、发布和审计;执行面领取任务、加载固定配置、执行模型与工具并提交状态。模型不得修改自己的授权策略。工具网关统一实施参数、身份和副作用控制,任务存储记录检查点、事件与操作回执。必要的外部连接失败要有可检测降级。

数据和容量隔离

数据库、对象存储、索引、缓存、日志和临时工作区都要验证租户边界,不能只在业务表加 tenant_id。按租户限额与公平调度,供应商限流通过背压传到入口。备份恢复、删除和权限撤销覆盖派生数据,恢复旧备份不能把已删除内容重新开放。

逐步验收

第一阶段选一个只读任务完成鉴权、可观测和成本闭环;第二阶段引入可审批的写动作与故障恢复;再加入更多租户和任务类型。每阶段用隔离、故障、容量和质量测试验证。平台需要故障演练、回滚和运营指标,而不是一份所有流行组件都出现的架构图。

工程推演

场景
面试假设:内部单用户 Demo 要卖给多家企业,支持知识查询和报告发布。
设计决策
先建立租户身份与只读闭环,再逐步加入受审写动作。
验证目标
跨租户访问被阻止,任务成本和恢复路径可核对。
适用边界
部署结构应按容量与风险选择,不能预设所有团队都需要微服务。

连续追问与解答

沿着问题的前提和约束继续向下读。先理解参考解答,再尝试收起答案,用自己的话解释因果和取舍。

举一反三:条件变了,怎样推导?

先找出改变的条件,再判断原方案中哪些前提仍成立。下面的案例是教学推演,便于将原理迁移到新问题。

公开资料与私人资料混合

改变的条件:用户需同时查询共享知识和租户事实。

延伸问题:是否所有数据都要复制到每个租户?

推导与参考解答

可共享公开且明确可复用资料,私人候选在入模型前按授权隔离;回答与引用必须说明来源,最终缓存不能混入私人事实后共享。设计共享层与私有层的合并边界,测试同名资源和不同权限的结果。

保持不变的原理:每条证据都必须在当前主体允许范围内。

控制面停机而任务仍在跑

改变的条件:授权更新与策略获取暂时中断。

延伸问题:能直接使用无限期本地许可吗?

推导与参考解答

不应。按预先定义的策略有效期和风险降级,低风险可有限继续,敏感访问未知则暂停。配额与执行预算仍强制,外部动作对账不中断留账;恢复后重新校验待执行动作,不能用可用性理由扩权。

保持不变的原理:故障恢复与降级不改变授权边界。

易错点

  • 只在主表加 tenant_id
  • 先拆几十个微服务
  • 用工具接入数量衡量成熟度

参考资料

依据公开技术资料设计;参考资料支持技术机制,场景与评分标准为本站设计,不代表某公司面试原题。 新增问答与迁移案例用于原理讲解,来源核查与案例运行验证分别记录。

检查自己理解到哪一步

读完后可以对照这些标准解释原理、边界和取舍。掌握程度由你自评;需要进一步验证时,再完成下方小任务。

基础达标
列出身份、持久化、权限和监控必要层。
中高级信号
说明控制执行分工、派生数据隔离与配额。
资深信号
按可验收阶段交付并处理备份、背压及策略不可用。

动手验证 按需完成 · 建议 15 分钟

给 50 个租户的知识问答与发布平台画职责图,并列出第一阶段验收。

展开验收要求与检查点
  • 每个数据面有隔离方式
  • 权限决策来自可信服务
  • 阶段目标可以测试

重点检查

  • 从服务目标推导架构
  • 控制策略不由模型自行更改
  • 隔离覆盖派生数据与执行环境