我们如何为每个用户隔离应用实例
为什么不能共用一个实例
如果让所有用户共用同一个开源应用实例,会遇到:
- 数据互相可见 / 写覆盖
- 一个用户的崩溃影响所有人
- 计费无法按用户拆分
所以 Matrix 选择 每个用户、每个应用一份实例,但通过容器调度优化,让它依然成本可控。
调度服务做了什么
- 接收前端的
startInstance指令 - 在 K8s 集群里启动一个属于该用户的命名空间 + Pod
- 启动时注入:
- 平台 API Key(让容器内部的 AI 调用计入你的额度)
- 必要的环境变量与挂载
资源回收
- 用户主动关停 → 立即清理
- 长时间无访问 → 自动休眠或回收(视应用类型)
安全
- 不同用户的 Pod 网络隔离
- 容器内不能访问宿主机敏感数据
- 注入的 API Key 是临时凭据,可单独吊销
我们还在做 GPU 拼车、镜像预热、冷启动优化等一系列性能改进,下一篇博客会详细聊。