百积木文档
开发指南后端应用开发

后端应用开发

把工作区后端项目主线发布为不可变版本,并通过 Hosted Service 部署为稳定 API。

后端应用用于承载业务规则、数据处理、外部系统集成和稳定 API。本文所说的后端应用,是从工作区项目主线发布不可变语义版本、由 Hosted Service 管理环境和部署的独立服务。

它不等同于:

  • 平台应用:面向用户的工作区入口。
  • 运行时模块:由 Bundle 物化到 App Runtime、通过模块方法调用的能力单元。
  • 平台基础服务:由平台发布系统管理的控制面或运行时基础设施。

标准生命周期

项目源码
  -> 主线 HEAD 与 Cargo package.version
  -> Release Operation
  -> 不可变 hosted_service_release
  -> Project Environment
  -> Deployment
  -> 稳定 Endpoint
  -> 健康与业务验证

后端应用可以被平台应用、网站、智能体、模块、工作流或外部系统调用。调用方身份、服务 token 和业务用户身份需要分别设计,不能只依赖“知道 URL”作为权限控制。

接入 Application Runtime

接入 Application Runtime 的独立后端先通过 Hosted Service 部署,再由 Module 封装接口,随业务 Bundle 安装到 Runtime。这里的“包装后端服务”指交付调用能力,不是把后端程序或部署制品装进 Runtime。

交付:后端项目 → 发布项目版本 → 部署到 Project Environment → Endpoint
安装:Module 封装后端接口 → Bundle 引用 Module 版本 → Application Runtime 安装 Bundle
调用:Runtime 中的 Module 方法 → 已配置且获授权的 Endpoint → 后端业务逻辑和数据库
  1. 独立创建、发布并部署后端项目,验证 Endpoint 与服务鉴权。
  2. 在所属 Bundle 内开发 Module,为后端接口声明标准方法、参数、返回值和调用配置。
  3. 创建不可变 Module 版本并纳入 Bundle,发布后将 Bundle 安装到目标 Application Runtime。
  4. 通过受保护的安装配置设置 Endpoint 与调用授权,验证 Runtime 到后端的真实调用链路。

Application Runtime 管理 Bundle 安装、模块配置和资源生效状态;Hosted Service 管理后端的 Environment、Deployment、Endpoint、配置、Secret 和数据库绑定。Environment 是后端项目的部署配置, 不是 Application Runtime,也不与每个 Bundle 安装一一对应。

Bundle 安装不会自动创建后端项目、部署环境、进程或数据库;Bundle 升级不会自动发布后端新版本, 卸载也不会自动停止独立后端或删除其数据库。需要随安装开通业务租户、配置或解绑业务资源时, 由来源 Bundle 已登记的管理器处理授权范围内的业务状态。托管后端独立部署。

后端只向网站或外部系统提供 API 时,可以独立使用;只有作为 Runtime 模块能力交付时,才需要 Module 与 Bundle。模块的完整交付流程见模块开发。

需要 Bundle 管理器时

普通 API 后端无需注册管理器;需要随 Bundle 安装、升级、配置或解除业务绑定时,必须按首次接入流程与验收完成受管接入。 部署时交付一次性授权,服务启动后握手生成并持久化双向凭据,随后在线轮换。 数据库绑定和 Endpoint 创建不自动注册管理器。后端上线、管理器接入和 Bundle 业务验收分别完成。

复用 Bundle 管理器 Adapter

多租户后端需要随 Bundle 生命周期开通租户或解除绑定时,先阅读 Bundle 管理器接入推荐架构:独立部署的 Adapter 后端 处理握手、凭据轮换和公共管理器协议,Adapter Bundle 与 Module 提供访问该后端的标准方法。 业务 Hosted Service 保留业务接口、事务和 Database Capability 绑定。Adapter 后端部署与调用 Bundle 安装分别完成;可用性须按目标环境的正式版本和真实联调结果核实。 AI 在选择接入方式并生成清单和服务 listener 前,再阅读 业务、管理与 Bundle 管理器生命周期入口, 明确业务、人工管理和平台生命周期各自的路由、凭据与权限。

后端应用独立交付

后端项目版本和 Hosted Service Deployment 不进入 Bundle。Bundle 中的模块可以调用 后端 Endpoint。高级 Bundle 可以关联已登记的 Bundle 管理器。后端发布状态单独验证。

继续阅读:

  1. 架构与资源边界
  2. 数据库设计规范
  3. Rust 服务设计约束
  4. 微服务后端开发
  5. Project、Environment、Slot、Endpoint 与数据库
  6. 完整构建与部署链路
  7. 数据库迁移
  8. 环境配置与服务鉴权
  9. 环境日志查询与错误排查
  10. 发布验证与故障排查

本页内容