重构模型平台前后端并移除Redis依赖

This commit is contained in:
Winnie
2026-07-30 19:03:00 +08:00
commit c74b2abb48
172 changed files with 40825 additions and 0 deletions
+26
View File
@@ -0,0 +1,26 @@
# Runtime Adapter 契约
`runtime_adapter.py` 是 Runtime Manager 与具体运行环境之间的可执行契约。
当前 Compose 环境使用 `SharedJupyterAdapter`。它把共享 Jupyter Server 作为
首期 Provider,并在 MySQL 中为每个 `Workspace` 建立并复用一个逻辑
Runtime。每个打开的 Notebook 在该 Runtime 中建立独立 Jupyter Session
每个 Session 绑定自己的 Kernel。
后续 Docker/Kubernetes Provider 必须实现同一 Protocol,公共锁接口和
`runtime_instances` 状态模型保持不变。
核心约束:
- `ensure_running` 对同一作用域必须幂等;
- Runtime 的唯一复用作用域是 Workspace,不能按用户重复创建;
- Runtime 的期望状态、实际状态和租约写入 MySQL;
- Notebook 对应独立 Jupyter Session/Kernel,其创建和终止只能由 Runtime
Manager 调用;
- Provider 不能依赖 Platform API 的进程内状态;
- `proxy_base_path` 与 Jupyter 内部 `base_url` 必须一致。
- Provider 调用必须携带内部服务凭据,不能通过关闭 XSRF 检查规避认证;
- Workspace 的目录、文件权限必须同时满足 Platform 原子写入和 Jupyter
读写,当前 Compose 环境使用共享 Unix 组完成。
Jupyter 浏览器代理、访问票据和 WebSocket 约束见
`jupyter-proxy-v1.md`