教程 07 / 08

以 Context 和 last-known-good 管理云端扩展

扩展的操作顺序是:声明依赖与能力,经过租户授权,在独立 Lua 或 JavaScript 沙箱启动;更新始终从候选 Context 开始,失败时保留已知良好版本。

以 Context 和 last-known-good 管理云端扩展

扩展的操作顺序是:声明依赖与能力,经过租户授权,在独立 Lua 或 JavaScript 沙箱启动;更新始终从候选 Context 开始,失败时保留已知良好版本。

操作步骤

  1. 在正确服务器范围创建扩展

    服主先进入自己拥有的服务器。扩展记录、配置、Context、能力与审计都绑定该 serverId,不能被另一个租户复用。

  2. 声明而非猜测依赖

    把所需扩展、版本约束和能力写入清单。控制面会先检查缺失项、循环和授权,再允许启动。

  3. 选择受控运行时

    Lua 与 JavaScript 均在各自沙箱中运行,只可通过 Context 获得被批准的宿主能力;不要把数据库、Worker 绑定或 API Key 写入扩展代码。

  4. 启动并观察状态

    依赖按拓扑顺序启动。启动成功才会进入运行中;失败实例会按 LIFO disposer 回收,不留下半开的句柄。

  5. 使用原子热更新

    提交候选版本后,控制面在独立候选 Context 中校验并启动。成功才切换活动版本,失败会保留运行实例与 last-known-good。

  6. 有序停止或删除

    先停止依赖者,再停止其依赖。删除同样先释放资源;不要用删除记录代替停止,因为记录消失不等于运行资源已释放。