我们如何为每个用户隔离应用实例
· 阅读需 1 分钟
为什么不能共用一个实例
如果让所有用户共用同一个开源应用实例,会遇到:
- 数据互相可见或写覆盖
- 一个用户的崩溃影响所有人
- 计费无法按用户拆分
所以 Matrix 选择 每个用户、每个应用一份实例,并通过容器调度优化控制成本。
调度服务做了什么
- 接收前端的
startInstance指令 - 在 K8s 集群里启动一个属于该用户的命名空间和 Pod
- 启动时注入平台 API Key,以及必要的环境变量与挂载
平台 API Key 让容器内部的 AI 调用可以计入对应用户的额度。
资源回收
- 用户主动关停时立即清理
- 长时间无访问时,根据应用类型自动休眠或回收
安全
- 不同用户的 Pod 网络隔离
- 容器内不能访问宿主机敏感数据
- 注入的 API Key 是临时凭据,可单独吊销
信息
我们还在持续优化 GPU 资源共享、镜像预热和冷启动速度。