百积木文档
核心概念

Hosted Service、Environment、Slot、Endpoint 与数据库

解释托管服务运行资源与托管 PostgreSQL 产品之间的关系、归属和计费边界。

平台把“服务是什么”“服务部署到哪里”“使用哪份计算资源”“从哪里访问”“使用哪份数据”拆成不同资源。理解这些边界后,开发、测试和生产环境可以独立组合,而不需要复制服务或把配置写进制品。

五个核心概念

Hosted Service:托管服务

Hosted Service 是一个后端服务的逻辑身份,保存服务名称、来源项目、制品与部署历史。它不等于容器,也不直接代表一台机器。

一个 Hosted Service 可以拥有多个 Environment,例如 devtestprod

Environment:服务环境

Environment 是 Hosted Service 的一套环境级配置和部署目标。它保存配置、密钥引用、可选的 Slot 引用、可选的逻辑数据库引用,以及当前部署。

Environment 本身不收费。创建 Environment 时可以暂不选择 Slot,也可以不绑定数据库;但真正部署运行前必须拥有可用的 Slot。

Slot:托管槽位

Slot 是工作区购买或领取的计算资源单元,提供 CPU、内存和运行副本。购买时从当前已发布的包月规格目录中选择档位;目录中的 SKU、价格和资源规格共同决定新 Slot,平台不会把某个固定 SKU 写入购买或部署逻辑。多个 Hosted Service Environment 可以共享工作区中的计算资源,但同一个服务的不同 Environment 不会占用同一个 Slot 身份。

Slot 按月独立收费。续费沿用原规格;升降配是独立的规格变更操作。Slot 不包含数据库,也不拥有数据库。

Endpoint:服务端点

Endpoint 是某次环境部署对外或对内提供的稳定访问入口。端点把域名、路径、端口和当前运行版本连接起来。更换 Artifact 或重新部署时,Endpoint 可以保持稳定。

Database Instance 与 Logical Database

Database Instance 是工作区购买的托管 PostgreSQL 实例,也是收费资源。首版以阿里云 RDS PostgreSQL 15 为基线。

一个 Database Instance 可以创建多个 Logical Database(逻辑数据库)。逻辑数据库拥有独立的数据库名、账号凭据和 Profile 引用。创建逻辑数据库和把它绑定到 Environment 都不单独收费,费用由所属 Database Instance 的规格和周期决定。

资源关系

  • Workspace
    • Hosted Service
      • Environment:dev,可选引用 Slot 和 Logical Database
      • Environment:prod,可选引用 Slot 和 Logical Database
    • Database Instance(付费)
      • Logical Database A(免费创建)
      • Logical Database B(免费创建)

Environment 引用逻辑数据库,而不是直接引用数据库实例。多个逻辑数据库可以位于同一个实例中,因此开发者可以按隔离要求选择“共享实例、不同数据库”,也可以购买独立实例。

计费边界

资源是否收费说明
Hosted Service服务逻辑身份
Environment环境配置、部署和资源引用
Slot计算规格,按周期收费
Endpoint随环境部署管理,不作为独立商品
Database InstancePostgreSQL 计算与存储规格,按周期收费
Logical Database使用所属实例容量
Environment 数据库绑定只保存逻辑数据库引用

模型 Token/POINT 与 Slot、Database Instance 的人民币费用相互独立,不能混用或抵扣。

PostgreSQL 首版规格

平台只开放有限、经过验证的规格,不允许用户直接提交任意云厂商规格代码。

规格的 CPU、内存、连接数和可用存储范围以阿里云 RDS PostgreSQL 主实例规格目录为基线;实例创建由平台通过阿里云 CreateDBInstance API完成。实际可购性还取决于平台配置的地域和可用区。

SKU系列CPU / 内存存储最大连接数
DB_PG_BASIC_2C4G_20G_V1基础版2 核 / 4 GiB20 GiB ESSD400
DB_PG_HA_2C4G_50G_V1高可用版2 核 / 4 GiB50 GiB ESSD400
DB_PG_HA_4C8G_100G_V1高可用版4 核 / 8 GiB100 GiB ESSD800

规格代码是不可变版本。实例支持按当前 SKU 续费,也支持在同一系列内选择更高 SKU 升配;基础版和高可用版不能直接互转。续费或升配都按目标 SKU 的完整月价结算并延长一个月,升配支付成功后由平台调用 RDS 变配能力。历史订单继续保存购买时的规格和价格快照。

售价不写死在数据库服务中。管理员在 factory-list 的“计费中心 → 货币商品价格”创建调价草稿,提交后由另一位管理员审核发布。新价格按生效时间切换,历史价格和订单不会被覆盖。

数据库供应商和部署位置

用户购买 Database Instance 时不选择云厂商、地域、VPC、子网或可用区。平台管理员在数据库服务中维护可用的 Database Provider、Placement 和供应商规格映射,并指定当前默认 Placement。首版默认 Provider 是阿里云 RDS。

Placement 是 db-service 所属运行环境内的运维目录数据,包含地域、网络、子网、可选可用区以及云凭据引用;它不是 Hosted Service Environment 的属性,也不属于 Kubernetes 集群配置。云凭据明文保存在 db-service 的密钥配置中,数据库只保存非敏感的凭据引用。

订单预留时会冻结 Provider、Placement 和供应商规格快照。因此,管理员切换默认 Placement 后,只有新购实例使用新的部署位置;已有实例、待支付订单和历史订单不会被静默迁移。新增已支持 Provider 的地域、网络或规格映射只更新数据库目录,不要求重新发布平台。

推荐使用流程

  1. 在“数据库服务”选择规格并购买 Database Instance。
  2. 等待实例状态从 PROVISIONING 变为 ACTIVE
  3. 在实例中创建一个或多个 Logical Database,并保存首次返回的 Profile Token。
  4. 到期前按原 SKU 续费,或在同一系列内选择更高 SKU 升配;变配不会改变已有逻辑数据库引用。
  5. 创建 Hosted Service Environment,可先不绑定 Slot 和数据库。
  6. 在需要运行时为 Environment 选择 Slot;需要持久化数据时选择一个 Logical Database。
  7. 构建 Artifact、部署到 Environment,并通过 Endpoint 验证业务。

不要把数据库连接串、密码或 Profile Token 写进源码、Artifact 或普通环境 JSON。Hosted Service 会在部署阶段通过配置 Provider 解析绑定。

本页内容