标签 DigitalOcean 下的文章

使用托管数据库部署 Coreflux MQTT 代理

MQTT 代理 通过发布-订阅消息模式连接物联网设备和应用程序,使其成为现代 物联网 基础设施的重要组成部分。Coreflux 是一个 低代码 MQTT 代理,增加了实时数据处理和转换功能,让你可以直接与 DigitalOcean 托管数据库(包括 MongoDBPostgreSQLMySQLOpenSearch)集成,而无需编写自定义集成代码。

你将学到什么: 本教程将引导你部署一个完整的物联网数据管道——从在 DigitalOcean 上设置托管数据库集群和 Coreflux MQTT 代理,到配置安全的 VPC 网络、使用 Coreflux 的物联网语言 (LoT) 构建数据转换模型,以及自动将处理后的物联网数据存储到你选择的数据库中。最终你将获得一个可用于生产环境的设置,能够处理物联网应用的实时消息传递和持久存储。

关键要点

在深入了解分步部署过程之前,以下是你将学到的关键点:

  • 在 DigitalOcean 上部署托管数据库集群(PostgreSQL、MongoDB、MySQL 或 OpenSearch),用于可扩展的物联网数据存储。
  • 使用 Marketplace 镜像或 Docker 在 DigitalOcean Droplet (DigitalOcean的VPC)上设置 Coreflux MQTT 代理。
  • 创建安全的 VPC 网络以连接你的 MQTT 代理和数据库,无需公开暴露。
  • 使用 Coreflux 的物联网语言 (LoT) 构建实时数据管道,实现低代码物联网自动化。
  • 自动转换和存储物联网数据,从 MQTT 主题到数据库表、集合或索引。
  • 验证端到端数据流,从模拟传感器通过转换模型到数据库存储。

本教程为需要实时消息传递结合持久数据存储以及搜索、分析或关系查询等高级功能的物联网应用提供了一个可用于生产环境的基础。

你将构建什么

在本教程结束时,你将得到:

  • 一个用于可扩展存储托管数据库集群(PostgreSQLMongoDBMySQLOpenSearch
  • 一台运行 Coreflux MQTT 代理DigitalOcean Droplet
  • 一个用于安全 物联网通信的虚拟私有云 (VPC) 网络
  • 使用 LoT Notebook 扩展进行的实时数据模拟
  • 低代码数据转换模型和数据库集成路由
  • 用于 物联网自动化 的完整 数据集成与转换 管道

Coreflux 与 DigitalOcean 合作

Coreflux 通过物联网语言编程语言在 DigitalOcean 云平台上提供轻量级 MQTT 代理和数据管道工具,以实现高效的物联网通信。

什么是 MQTT?

MQTT(消息队列遥测传输)是一种轻量级的、发布-订阅网络协议,在物联网生态系统中被广泛采用。专为受限设备和低带宽、高延迟或不稳定的网络设计,MQTT 能够在带宽受限的环境中实现高效、实时的消息传递。

关于 Coreflux

Coreflux 提供了一个轻量级 MQTT 代理,以促进物联网设备与应用程序之间的高效、实时通信,包括每个用例所必需的实时数据转换功能。为可扩展性和可靠性而构建,Coreflux 专为低延迟和高吞吐量至关重要的环境量身定制。

无论你是构建一个小型物联网项目还是部署工业监控系统,Coreflux 都能处理设备之间的消息路由和数据流。

在 DigitalOcean 云平台上使用 Coreflux,你将获得:

数据处理: 在你的数据所在之处集中处理你的数据处理需求,确保实时数据处理。
数据集成: 轻松与其他 DigitalOcean 服务(如托管数据库 PostgreSQL、MongoDB、MySQL 或 OpenSearch)集成,确保为你的所有数据需求提供一个单一且简单的生态系统。
可扩展性: 轻松处理不断增长的数据和设备数量,而不会影响性能。
可靠性: 确保在所有连接的设备之间进行一致且可靠的消息传递。

Coreflux MQTT 和托管数据库架构概述

准备工作

在开始本 MQTT 代理 部署教程之前,你需要:

  • 一个 DigitalOcean 帐户,可在DigitalOcean.com注册,支持绑定信用卡、支付宝或数字货币
  • 了解 MQTT 协议概念和 物联网 架构
  • Visual Studio Code(用于 LoT Notebook 扩展)

预计时间: 本教程大约需要 30-45 分钟完成,具体取决于数据库配置时间(通常每个数据库集群需要 1-5 分钟)。

步骤 1 — 为物联网自动化创建网络基础设施

为安全的 MQTT 通信创建 VPC 网络

首先,你将创建一个虚拟私有云 (VPC),以确保你的 物联网 服务和 MQTT 代理 之间的安全通信,无需公开访问。

  1. 登录你的 DigitalOcean 控制面板
  2. 从左侧导航栏进入 网络VPC
  3. 点击 创建 VPC 网络

DigitalOcean VPC 创建屏幕

  1. 物联网自动化配置你的 VPC:

    • 名称:coreflux-integrations-vpc(或你的 VPC 名称)
    • 数据中心区域:选择法兰克福(或你首选的区域)
    • IP 范围:使用默认值或根据需要配置
    • 描述:为你的 MQTT 代理和数据库 网络添加有意义的描述
  2. 点击 创建 VPC 网络

VPC 将为你所有的物联网资源提供隔离的网络,确保 Coreflux MQTT 代理托管数据库 之间的安全通信。有关 VPC 配置的更多详细信息,请参阅我们关于创建 VPC 网络的教程。

步骤 2 — 为可扩展存储设置托管数据库

根据你的物联网应用需求,选择以下数据库选项之一:

  • PostgreSQL:适用于需要关系查询、ACID 合规性和复杂关系的结构化数据
  • MySQL:适用于结构化工作负载和具有强一致性及广泛工具支持的事务性查询
  • MongoDB:适用于具有可变模式的灵活文档存储和快速开发
  • OpenSearch:适用于高级搜索、分析、日志分析和时间序列数据可视化

设置 PostgreSQL 托管数据库

当你的物联网工作负载需要关系模式强一致性高级 SQL 分析,并由自动备份、监控和维护支持时,DigitalOcean 上的托管 PostgreSQL 是一个很好的选择。

DigitalOcean 托管 PostgreSQL 集群设置

  1. DigitalOcean 控制面板,导航到 数据库
  2. 点击 创建数据库集群
  3. 物联网自动化配置你的 PostgreSQL 集群:

    • 数据库引擎:选择 PostgreSQL
    • 版本:选择最新的稳定版本
    • 数据中心区域:选择法兰克福(与你的 VPC 相同)
    • VPC 网络:选择你创建的 coreflux-integrations-vpc
    • 数据库集群名称:postgresql-coreflux-test
    • 项目:选择你的目标项目
  4. 根据你的 物联网 需求选择你的计划:

    1. 对于开发:基础 计划,1 GB RAM
    2. 对于生产:通用型 或更高,用于可扩展存储
  5. 点击 创建数据库集群

托管数据库 创建过程通常需要 1-5 分钟。完成后,你将被重定向到数据库概览页面,在那里你可以查看连接详细信息并执行管理操作。

为 MQTT 代理集成配置 PostgreSQL 数据库访问

系统将提示你进行入门步骤,显示你的连接详细信息,你可以配置入站访问规则(建议限制为你的 IP 和仅 VPC)。

  1. 点击 开始使用 来配置你的 PostgreSQL 数据库
  2. (可选操作)限制入站连接:

    • 添加你本地计算机的 IP 以进行管理访问
    • droplet 将通过 VPC 网络自动获得允许

PostgreSQL 入站访问和 VPC 规则

对于连接详细信息,你将看到两个选项 - 公共网络和 VPC 网络。第一个用于像 DBeaver 这样的工具进行外部访问,而第二个将由 Coreflux 服务用于访问数据库。

PostgreSQL 公共和 VPC 连接详细信息

  1. 记下提供的连接详细信息,包括公共访问和 VPC 访问(每种都有不同的详细信息):

    • 主机:你的数据库主机名
    • 用户:默认管理员用户
    • 密码:自动生成的安全密码
    • 数据库:身份验证数据库名称
测试 PostgreSQL 数据库连接

你可以使用提供的连接参数,使用公共访问凭证通过 DBeaver 测试 PostgreSQL 连接:

在 DBeaver 中测试 PostgreSQL 连接

创建 PostgreSQL 应用程序数据库和用户(可选)

为了更好的安全性和组织性,为你的 物联网自动化 应用程序创建一个专用用户和数据库。这也可以通过 DBeaver 或 CLI 完成,但 DigitalOcean 提供了一种用户友好的方法:

  1. 转到你的 托管数据库 集群中的 用户与数据库 选项卡
  2. 创建用户

    • 用户名:coreflux-broker-client
    • 密码:自动生成
  3. 创建数据库

    • 数据库名称:coreflux-broker-data

注意: 你可能需要更改数据库内的用户权限,以便能够创建表、插入和选择数据。对于 PostgreSQL,使用 GRANT CREATE, INSERT, SELECT ON DATABASE coreflux-broker-data TO coreflux-broker-client; 授予必要的权限。对于 MySQL,使用 GRANT CREATE, INSERT, SELECT ON coreflux-broker-data.* TO 'coreflux-broker-client'@'%';。

设置 MySQL 托管数据库

当你想要熟悉的 SQL、广泛的生态系统支持以及处理备份、更新和监控的完全托管服务时,DigitalOcean 上的托管 MySQL结构化、事务性物联网数据的理想选择。

DigitalOcean 托管 MySQL 集群设置

  1. DigitalOcean 控制面板,导航到 数据库
  2. 点击 创建数据库集群
  3. 物联网自动化配置你的 MySQL 集群:

    • 数据库引擎:选择 MySQL
    • 版本:选择最新的稳定版本
    • 数据中心区域:选择法兰克福(与你的 VPC 相同)
    • VPC 网络:选择你创建的 coreflux-integrations-vpc
    • 数据库集群名称:mysql-coreflux-test
    • 项目:选择你的目标项目
  4. 根据你的 物联网 需求选择你的计划:

    • 对于开发:基础 计划,1 GB RAM
    • 对于生产:通用型 或更高,用于可扩展存储
  5. 点击 创建数据库集群

托管数据库 创建过程通常需要 1-5 分钟。完成后,你将被重定向到数据库概览页面,在那里你可以查看连接详细信息并执行管理操作。

为 MQTT 代理集成配置 MySQL 数据库访问

系统将提示你进行入门步骤,显示你的连接详细信息,你可以配置入站访问规则(建议限制为你的 IP 和仅 VPC)。

  1. 点击 开始使用 来配置你的 MySQL 数据库
  2. (可选操作)限制入站连接:

    • 添加你本地计算机的 IP 以进行管理访问
    • droplet 将通过 VPC 网络自动获得允许

MySQL 入站访问和 VPC 规则

对于连接详细信息,你将看到两个选项 - 公共网络和 VPC 网络。第一个用于像 DBeaver 这样的工具进行外部访问,而第二个将由 Coreflux 服务用于访问数据库。

MySQL 公共和 VPC 连接详细信息

  1. 记下提供的连接详细信息,包括公共访问和 VPC 访问(每种都有不同的详细信息):

    • 主机:你的数据库主机名
    • 用户:默认管理员用户
    • 密码:自动生成的安全密码
    • 数据库:身份验证数据库名称
测试 MySQL 数据库连接

你可以使用提供的连接参数,使用公共访问凭证通过 DBeaver 测试 MySQL 连接。

注意: 你可能需要更改 DBeaver 的驱动程序设置——设置 allowPublicKeyRetrieval = true。

在 DBeaver 中测试 MySQL 连接

创建 MySQL 应用程序数据库和用户(可选)

为了更好的安全性和组织性,为你的 物联网自动化 应用程序创建一个专用用户和数据库。这也可以通过 DBeaver 或 CLI 完成,但 DigitalOcean 提供了一种用户友好的方法:

  1. 转到你的 托管数据库 集群中的 用户与数据库 选项卡
  2. 创建用户

    • 用户名:coreflux-broker-client
    • 密码:自动生成
  3. 创建数据库

    • 数据库名称:coreflux-broker-data

设置 MongoDB 托管数据库

托管 MongoDB 非常适合灵活或不断演变的物联网负载,让你能够存储异构的传感器文档,而无需严格模式,同时平台处理复制、备份和监控。

创建托管 MongoDB 集群

  1. DigitalOcean 控制面板,导航到 数据库
  2. 点击 创建数据库集群
  3. 物联网自动化配置你的 MongoDB 集群:

    • 数据库引擎:选择 MongoDB
    • 版本:选择最新的稳定版本
    • 数据中心区域:选择法兰克福(与你的 VPC 相同)
    • VPC 网络:选择你创建的 coreflux-integrations-vpc
    • 数据库集群名称:mongodb-coreflux-test
    • 项目:选择你的目标项目
  4. 根据你的 物联网 需求选择你的计划:

    • 对于开发:基础 计划,1 GB RAM
    • 对于生产:通用型 或更高,用于可扩展存储
  5. 点击 创建数据库集群

托管数据库 创建过程通常需要 1-5 分钟。完成后,你将被重定向到数据库概览页面,在那里你可以查看连接详细信息并执行管理操作。

为 MQTT 代理集成配置 MongoDB 数据库访问

系统将提示你进行入门步骤,显示你的连接详细信息,你可以配置入站访问规则(建议限制为你的 IP 和仅 VPC)。

  1. 点击 开始使用 来配置你的 MongoDB 数据库
  2. (可选)限制入站连接:

    • 添加你本地计算机的 IP 以进行管理访问
    • droplet 将通过 VPC 网络自动获得允许

为 MQTT 代理集成配置数据库访问

对于连接详细信息,你将看到两个选项:公共网络和 VPC 网络。第一个用于像 MongoDB Compass 这样的工具进行外部访问,而第二个将由 Coreflux 服务用于访问数据库。

MongoDB 连接详细信息

  1. 记下提供的连接详细信息,包括公共访问和 VPC 访问(每种都有不同的详细信息):

    • 主机:你的数据库主机名
    • 用户:默认管理员用户
    • 密码:自动生成的安全密码
    • 数据库:身份验证数据库名称
测试 MongoDB 数据库连接

你可以使用 MongoDB Compass 或提供的连接字符串,使用公共访问凭证测试 MongoDB 连接:

mongodb://username:password@mongodb-host:27017/defaultauthdb?ssl=true

测试数据库连接

创建 MongoDB 应用程序数据库和用户(可选)

为了更好的安全性和组织性,为你的 物联网自动化 应用程序创建一个专用用户和数据库。这也可以通过 MongoDB Compass 或 CLI 完成,但 DigitalOcean 提供了一种用户友好的方法:

  1. 转到你的 托管数据库 集群中的 用户与数据库 选项卡
  2. 创建用户

    • 用户名:coreflux-broker-client
    • 密码:自动生成
  3. 创建数据库

    • 数据库名称:coreflux-broker-data

设置 OpenSearch 托管数据库

托管 OpenSearch 专为高容量物联网数据的搜索、日志分析和时间序列仪表板而设计,该服务为你管理集群健康、扩展和索引存储。

创建托管 OpenSearch 集群

  1. DigitalOcean 控制面板,导航到 数据库
  2. 点击 创建数据库集群
  3. 物联网自动化配置你的 OpenSearch 集群:

    • 数据库引擎:选择 OpenSearch
    • 版本:选择最新的稳定版本
    • 数据中心区域:选择法兰克福(与你的 VPC 相同)
    • VPC 网络:选择你创建的 coreflux-integrations-vpc
    • 数据库集群名称:opensearch-coreflux-test
    • 项目:选择你的目标项目
  4. 根据你的 物联网 需求选择你的计划:

    1. 对于开发:基础 计划,1 GB RAM
    2. 对于生产:通用型 或更高,用于可扩展存储
  5. 点击 创建数据库集群

托管数据库 创建过程通常需要 1-5 分钟。完成后,你将被重定向到数据库概览页面,在那里你可以查看连接详细信息并执行管理操作。

为 MQTT 代理集成配置 OpenSearch 数据库访问

系统将提示你进行入门步骤,显示你的连接详细信息,你可以配置入站访问规则(建议限制为你的 IP 和仅 VPC)。

  1. 点击 开始使用 来配置你的 OpenSearch 数据库
  2. (可选)限制入站连接:

    • 添加你本地计算机的 IP 以进行管理访问
    • droplet 将通过 VPC 网络自动获得允许

配置数据库访问

对于连接详细信息,你将看到两个选项:公共网络和 VPC 网络。第一个用于工具的外部访问,而第二个将由 Coreflux 服务用于访问数据库。你还将看到访问 OpenSearch 仪表板的 URL 和参数。

连接详细信息

  1. 记下提供的连接详细信息,包括公共访问和 VPC 访问(每种都有不同的详细信息):

    • 主机:你的数据库主机名
    • 用户:默认管理员用户
    • 密码:自动生成的安全密码
    • 数据库:身份验证数据库名称
测试 OpenSearch 数据库连接

你可以使用提供的凭证通过 OpenSearch 仪表板测试 OpenSearch 连接:

测试数据库连接

步骤 3 — 在 DigitalOcean Droplet 上部署 Coreflux MQTT 代理

创建 DigitalOcean Droplet

  1. 在你的 DigitalOcean 控制面板中导航到 Droplets
  2. 点击 创建 Droplet

创建新的 DigitalOcean Droplet

  1. MQTT 代理 部署配置你的 droplet

    • 选择区域:法兰克福(与你的托管数据库相同)
    • VPC 网络:选择 coreflux-integrations-vpc
    • 选择镜像:转到 Marketplace 选项卡
    • 搜索 “Coreflux” 并从 Marketplace 中选择 Coreflux

从 Marketplace 选择 Coreflux

  1. 为你的 物联网 工作负载选择大小

    • 对于开发:基础 计划,2 GB 内存
    • 对于生产:基础通用型 计划,4+ GB 内存以获得可扩展性能
  2. 选择身份验证方法

    • SSH 密钥:推荐用于提高安全性

      1. 可以使用 ssh-keygen 在本地创建密钥
    • 密码:备选方案
  3. 最终确定详细信息

    • 主机名:coreflux-test-broker
    • 项目:选择你的项目
    • 标签:为 DevOps 组织添加相关标签
  4. 点击 创建 Droplet
  5. 查看 Droplet 主页并等待其完成部署

Droplet 部署进行中

替代方案 - 在Docker镜像Droplet上使用Docker安装Coreflux MQTT代理

采用与Coreflux Droplet相同的方法,选择Docker作为市场应用镜像。

一旦你的droplet运行起来,通过已定义的认证方法或Droplet主页上提供的Web控制台,使用SSH连接到它:

ssh root@your-droplet-ip

SSH连接到Coreflux droplet

使用Docker运行Coreflux MQTT代理

docker run -d \
  --name coreflux \
  -p 1883:1883 \
  -p 1884:1884 \
  -p 5000:5000 \
  -p 443:443 \
  coreflux/coreflux-mqtt-broker-t:1.6.3

这个Docker命令:

  • 以分离模式运行容器 (-d)
  • 将容器命名为 coreflux
  • 暴露MQTT和Web界面所需的端口
  • 使用最新的Coreflux镜像

验证MQTT代理是否在运行:

docker ps

你应该看到一个正在运行的容器:

Docker中运行的Coreflux容器

通过使用默认值连接到MQTT代理来验证部署

你可以通过MQTT客户端(如MQTT Explorer)访问MQTT代理,以验证对代理的访问,无论采用何种部署方法。

MQTT Explorer连接到Coreflux代理

步骤4 — 为安全的物联网通信配置防火墙规则(可选)

对于生产环境的物联网自动化部署,配置防火墙规则以限制访问:

  1. 导航到网络防火墙
  2. 点击创建防火墙
  3. 配置MQTT代理安全的入站规则:

    • SSH:来自你IP的端口22
    • MQTT:来自你的物联网应用程序源的端口1883
    • 带TLS的MQTT:用于安全的带TLS的MQTT的端口1884
    • WebSocket:用于通过WebSocket的MQTT的端口5000
    • 带TLS的WebSocket:用于通过带TLS的WebSocket的MQTT的端口443
  4. 将防火墙应用到你的droplet

关于详细的防火墙配置,请参考DigitalOcean的防火墙快速入门教程。生产提示: 将MQTT端口1883限制在特定的源IP或VPC范围,并且对于外部设备连接,优先使用端口1884(带TLS的MQTT)。如果你需要额外的安全层,请考虑使用带有私有网络的DigitalOcean应用平台。

步骤5 — 使用Coreflux的Language of Things设置物联网数据集成

安装LoT Notebook扩展

用于Visual Studio Code的LoTLanguage of ThingsNotebook扩展提供了一个集成的低代码开发环境,用于MQTT代理编程和物联网自动化。了解更多关于Coreflux的Language of Things (LoT)用于低代码物联网自动化的信息。

  1. 打开Visual Studio Code
  2. 转到扩展(Ctrl+Shift+X)
  3. 搜索"LoT Notebooks"
  4. 安装由Coreflux提供的LoT VSCode Notebooks扩展

Visual Studio Code中的LoT Notebook扩展

连接到你的MQTT代理

配置与你的Coreflux MQTT代理的连接,当在顶部栏提示时或通过点击底部左侧栏的MQTT按钮时,使用默认凭据:

  • 用户:root
  • 密码:coreflux

假设没有错误,你将在底部左侧栏看到与代理的MQTT连接状态。

VS Code中的Coreflux MQTT连接状态

步骤6 — 通过Actions在MQTT代理中创建数据

对于这个用例,我们将通过一个转换管道将原始数据集成到数据库中。然而,由于在演示中没有连接到任何MQTT设备,我们将利用LoT的能力,并使用一个Action来模拟设备数据。

在LoT中,Action是一种可执行的逻辑,由特定事件触发,例如定时间隔、主题更新或其他操作或系统组件的显式调用。Actions允许与MQTT主题、内部变量和负载进行动态交互,促进复杂的物联网自动化工作流。

因此,我们可以使用一个以定义的时间间隔在特定主题中生成数据的Action,然后由我们将在下面定义的管道的其余部分使用。

你可以下载包含示例项目的github仓库。

生成模拟物联网数据

使用低代码LoTLanguage of Things)界面创建一个Action来生成模拟传感器数据:

DEFINE ACTION RANDOMIZEMachineData
ON EVERY 10 SECONDS DO
    PUBLISH TOPIC "raw_data/machine1" WITH RANDOM BETWEEN 0 AND 10
    PUBLISH TOPIC "raw_data/station2" WITH RANDOM BETWEEN 0 AND 60

在提供的Notebook中,你还有一个Action可以执行递增计数器来模拟数据,作为提供Action的替代方案。

运行LoT操作以生成模拟物联网数据

当你运行这个Action时,它将:

  • 自动部署到MQTT代理
  • 每10秒生成一次模拟的物联网传感器数据
  • 实时数据发布到特定的MQTT主题
  • LoT Notebook界面中显示同步状态

    • 此状态显示LoT Notebook上的代码是否与代理中运行的代码不同,或者是否完全缺失

步骤7 — 为实时处理创建数据转换模型

使用Language of Things定义数据模型

Coreflux中的模型用于转换、聚合和计算来自输入MQTT主题的值,并将结果发布到新主题。它们是创建适用于你多个数据源的UNS - 统一命名空间 - 的基础。

因此,通过该模型,你可以定义原始物联网数据的结构与转换方式,适用于单个设备,也支持同时处理多个设备(借助通配符+实现)。模型还作为用于可扩展存储托管数据库的关键数据模式。

DEFINE MODEL MachineData WITH TOPIC "Simulator/Machine/+/Data"

    ADD "energy" WITH TOPIC "raw_data/+" AS TRIGGER

    ADD "energy_wh" WITH (energy * 1000)

    ADD "production_status" WITH (IF energy > 5 THEN "active" ELSE "inactive")

    ADD "production_count" WITH (IF production_status EQUALS "active" THEN (production_count + 1) ELSE 0)

    ADD "stoppage" WITH (IF production_status EQUALS "inactive" THEN 1 ELSE 0)

    ADD "maintenance_alert" WITH (IF energy > 50 THEN TRUE ELSE FALSE)

    ADD "timestamp" WITH TIMESTAMP "UTC"

这个低代码模型:

  • 使用通配符+自动应用到所有机器
  • 通过乘以1000将能量转换为瓦时(energy_wh)
  • 根据能量阈值确定生产状态
  • 跟踪生产计数和停机事件
  • 向所有实时数据点添加时间戳
  • 从主题结构中提取机器ID
  • 将结构化数据发布到Simulator/Machine/Data主题(将+替换为每个匹配触发器/源数据格式的主题)

由于我们使用Action生成了两个模拟传感器/机器,我们可以看到模型结构自动应用于两者,同时生成了一个json对象和各个单独的主题。

Coreflux模型发布的转换后的MQTT数据

步骤8 — 为可扩展存储设置数据库集成

选择与你在步骤2中选择的数据库相匹配的数据库集成部分。

PostgreSQL集成

在本节中,你将学习如何将处理后的物联网数据存储到DigitalOcean上的PostgreSQL托管数据库中。

要将处理后的物联网数据存储到PostgreSQL托管数据库中,你需要在Coreflux中定义一个Route。Route使用简单、低代码的配置指定数据如何从你的MQTT代理发送到你的PostgreSQL集群:

DEFINE ROUTE PostgreSQL_Log WITH TYPE POSTGRESQL

    ADD SQL_CONFIG

        WITH SERVER "db-postgresql.db.onmyserver.com"

        WITH PORT 25060

        WITH DATABASE "defaultdb"

        WITH USERNAME "doadmin"

        WITH PASSWORD "AVNS_pass"

        WITH USE_SSL TRUE

        WITH TRUST_SERVER_CERTIFICATE FALSE

使用来自DigitalOcean的你自己的PostgreSQL连接详细信息替换,并在你的LoT Notebook中运行该Route重要提示: 为了更好的安全性和更低的延迟,请使用VPC连接详细信息(而非公共连接)。VPC主机名和端口与公共连接字符串不同 - 请检查你的数据库集群的连接详细信息页面以获取这两个选项。

为PostgreSQL数据库存储更新模型

修改你的LoT模型以使用数据库路由进行可扩展存储,通过将此添加到模型的末尾:

STORE IN "PostgreSQL_Log"

    WITH TABLE "MachineProductionData"

此外,添加一个带有主题的参数,以便在你的托管数据库中为每个条目提供唯一标识符。

DEFINE MODEL MachineData WITH TOPIC "Simulator/Machine/+/Data"

    ADD "energy" WITH TOPIC "raw_data/+" AS TRIGGER

    ADD "device_name" WITH REPLACE "+" WITH TOPIC POSITION 2 IN "+"

    ADD "energy_wh" WITH (energy * 1000)

    ADD "production_status" WITH (IF energy > 5 THEN "active" ELSE "inactive")

    ADD "production_count" WITH (IF production_status EQUALS "active" THEN (production_count + 1) ELSE 0)

    ADD "stoppage" WITH (IF production_status EQUALS "inactive" THEN 1 ELSE 0)

    ADD "maintenance_alert" WITH (IF energy > 50 THEN TRUE ELSE FALSE)

    ADD "timestamp" WITH TIMESTAMP "UTC"

    STORE IN "PostgreSQL_Log"

        WITH TABLE "MachineProductionData"

部署此更新后的操作后,所有数据在更新时应自动存储在数据库中。

MySQL集成

MySQL是一种广泛使用的关系数据库管理系统,非常适合大规模存储和分析物联网数据。在本节中,你将学习如何将你的Coreflux MQTT代理连接到DigitalOcean上的托管MySQL数据库,以便你的实时设备数据能够安全可靠地持久化,用于分析、报告或与其他应用程序集成。

要启用此集成,你必须在Coreflux的LoT(Language of Things)中定义一个Route,指示处理后的数据应该发送到哪里以及如何发送。下面是路由数据到MySQL数据库所需的低代码格式。请务必根据需要替换你自己的连接详细信息:

DEFINE ROUTE MySQL_Log WITH TYPE MYSQL
    ADD SQL_CONFIG
        WITH SERVER "db-mysql.db.onmyserver.com"
        WITH PORT 25060
        WITH DATABASE "defaultdb"
        WITH USERNAME "doadmin"
        WITH PASSWORD "AVNS_pass"
        WITH USE_SSL TRUE
        WITH TRUST_SERVER_CERTIFICATE FALSE

使用来自DigitalOcean的你自己的MySQL连接详细信息替换,并在你的LoT Notebook中运行该Route重要提示: 为了更好的安全性和更低的延迟,请使用VPC连接详细信息(而非公共连接)。如果你遇到连接问题,请验证TRUST_SERVER_CERTIFICATE是否已为你的MySQL版本正确设置 - 某些版本需要TRUE,而其他版本则使用FALSE

为MySQL数据库存储更新模型

修改你的LoT模型以使用数据库路由进行可扩展存储,通过将此添加到模型的末尾:

STORE IN "MySQL_Log"
    WITH TABLE "MachineProductionData"

此外,添加一个带有主题的参数,以便在你的托管数据库中为每个条目提供唯一标识符。

DEFINE MODEL MachineData WITH TOPIC "Simulator/Machine/+/Data"
    ADD "energy" WITH TOPIC "raw_data/+" AS TRIGGER
    ADD "device_name" WITH REPLACE "+" WITH TOPIC POSITION 2 IN "+"
    ADD "energy_wh" WITH (energy * 1000)
    ADD "production_status" WITH (IF energy > 5 THEN "active" ELSE "inactive")
    ADD "production_count" WITH (IF production_status EQUALS "active" THEN (production_count + 1) ELSE 0)
    ADD "stoppage" WITH (IF production_status EQUALS "inactive" THEN 1 ELSE 0)
    ADD "maintenance_alert" WITH (IF energy > 50 THEN TRUE ELSE FALSE)
    ADD "timestamp" WITH TIMESTAMP "UTC"
    STORE IN "MySQL_Log"
        WITH TABLE "MachineProductionData"

部署此更新后的操作后,所有数据在更新时应自动存储在数据库中。

MongoDB集成

MongoDB是一种NoSQL数据库,非常适合存储和查询具有灵活模式的物联网数据。在本节中,你将学习如何将你的Coreflux MQTT代理连接到DigitalOcean上的托管MongoDB数据库,以便你的实时设备数据能够安全可靠地持久化,用于分析、报告或与其他应用程序集成。

要启用此集成,你必须在Coreflux的LoT(Language of Things)中定义一个Route,指示处理后的数据应该发送到哪里以及如何发送。下面是路由数据到MongoDB数据库所需的低代码格式。请务必根据需要替换你自己的连接详细信息:

DEFINE ROUTE mongo_route WITH TYPE MONGODB
    ADD MONGODB_CONFIG
        WITH CONNECTION_STRING "mongodb+srv://<username>:<password>@<cluster-uri>/<database>?tls=true&authSource=admin&replicaSet=<replica-set>"
        WITH DATABASE "admin"

使用来自DigitalOcean的你自己的MongoDB连接详细信息替换,并在你的LoT Notebook中运行该Route。重要提示: 当可用时,请使用VPC连接字符串格式。连接字符串应包括tls=trueauthSource=admin参数。有关MongoDB连接故障排除,请参阅我们关于连接MongoDB的教程。

为MongoDB数据库存储更新模型

修改你的LoT模型以使用数据库路由进行可扩展存储,通过将此添加到模型的末尾:

STORE IN "mongo_route"
    WITH TABLE "MachineProductionData"

此外,添加一个带有主题的参数,以便在你的托管数据库中为每个条目提供唯一标识符。

DEFINE MODEL MachineData WITH TOPIC "Simulator/Machine/+/Data"
    ADD "energy" WITH TOPIC "raw_data/+" AS TRIGGER
    ADD "device_name" WITH REPLACE "+" WITH TOPIC POSITION 2 IN "+"
    ADD "energy_wh" WITH (energy * 1000)
    ADD "production_status" WITH (IF energy > 5 THEN "active" ELSE "inactive")
    ADD "production_count" WITH (IF production_status EQUALS "active" THEN (production_count + 1) ELSE 0)
    ADD "stoppage" WITH (IF production_status EQUALS "inactive" THEN 1 ELSE 0)
    ADD "maintenance_alert" WITH (IF energy > 50 THEN TRUE ELSE FALSE)
    ADD "timestamp" WITH TIMESTAMP "UTC"
    STORE IN "mongo_route"
        WITH TABLE "MachineProductionData"

部署此更新后的操作后,所有数据在更新时应自动存储在数据库中。

OpenSearch集成

OpenSearch是一种分布式搜索和分析引擎,专为大规模数据处理和实时分析而设计。在本节中,你将学习如何将你的Coreflux MQTT代理连接到DigitalOcean上的托管OpenSearch数据库,以便你的实时设备数据能够安全可靠地持久化,用于分析、报告或与其他应用程序集成。

要启用此集成,你必须在Coreflux的LoT(Language of Things)中定义一个Route,指示处理后的数据应该发送到哪里以及如何发送。下面是路由数据到OpenSearch数据库所需的低代码格式。请务必根据需要替换你自己的连接详细信息:

DEFINE ROUTE OpenSearch_log WITH TYPE OPENSEARCH
    ADD OPENSEARCH_CONFIG
        WITH BASE_URL "https://my-opensearch-cluster:9200"
        WITH USERNAME "myuser"
        WITH PASSWORD "mypassword"
        WITH USE_SSL TRUE
        WITH IGNORE_CERT_ERRORS FALSE

使用来自DigitalOcean的你自己的OpenSearch连接详细信息替换,并在你的LoT Notebook中运行该Route。重要提示: 当可用时,请使用VPC基础URL(而非公共URL)。基础URL格式通常为https://your-cluster-hostname:9200。对于OpenSearch仪表板访问,请使用数据库集群详细信息中提供的单独的仪表板URL。有关更多详细信息,请参阅我们的OpenSearch快速入门。

为OpenSearch数据库存储更新模型

修改你的LoT模型以使用数据库路由进行可扩展存储,通过将此添加到模型的末尾:

STORE IN "OpenSearch_Log"
    WITH TABLE "MachineProductionData"

此外,添加一个带有主题的参数,以便在你的托管数据库中为每个条目提供唯一标识符。

DEFINE MODEL MachineData WITH TOPIC "Simulator/Machine/+/Data"
    ADD "energy" WITH TOPIC "raw_data/+" AS TRIGGER
    ADD "device_name" WITH REPLACE "+" WITH TOPIC POSITION 2 IN "+"
    ADD "energy_wh" WITH (energy * 1000)
    ADD "production_status" WITH (IF energy > 5 THEN "active" ELSE "inactive")
    ADD "production_count" WITH (IF production_status EQUALS "active" THEN (production_count + 1) ELSE 0)
    ADD "stoppage" WITH (IF production_status EQUALS "inactive" THEN 1 ELSE 0)
    ADD "maintenance_alert" WITH (IF energy > 50 THEN TRUE ELSE FALSE)
    ADD "timestamp" WITH TIMESTAMP "UTC"
    STORE IN "OpenSearch_Log"
        WITH TABLE "MachineProductionData"

部署此更新后的操作后,所有数据在更新时应自动存储在数据库中。

步骤9 — 验证完整的物联网自动化管道

监控实时数据流

  1. MQTT Explorer:使用MQTT客户端验证实时数据发布
  2. 数据库客户端:连接以验证数据的存储(PostgreSQL使用DBeaver,MongoDB使用MongoDB Compass,OpenSearch使用OpenSearch Dashboards)

验证PostgreSQL存储

使用DBeaver连接到你的PostgreSQL托管数据库以验证可扩展存储

  1. 使用来自你的DigitalOcean数据库的连接字符串
  2. 导航到 coreflux-broker-data 数据库(或你为数据库指定的名称)
  3. 检查 MachineProductionData 表中存储的记录

显示存储的物联网记录的PostgreSQL表

正如我们之前看到的,所有数据都可在MQTT代理中用于其他用途和集成。

带有实时机器数据的MQTT主题

验证MongoDB存储

使用MongoDB Compass连接到你的MongoDB托管数据库以验证可扩展存储

  1. 使用来自你的DigitalOcean数据库的连接字符串
  2. 导航到 coreflux-broker-data 数据库(或你为数据库指定的名称)
  3. 检查 MachineProductionData 集合中存储的文档

检查数据库存储

你应该看到具有类似结构的实时数据文档:

{
  "_id": {
    "$oid": "68626dc3e8385cbe9a1666c3"
  },
  "energy": 36,
  "energy_wh": 36000,
  "production_status": "active",
  "production_count": 31,
  "stoppage": 0,
  "maintenance_alert": false,
  "timestamp": "2025-06-30 10:58:11",
  "device_name": "station2"
}

正如我们之前看到的,所有数据都可在MQTT代理中用于其他用途和集成。

验证MySQL存储

使用DBeaver连接到你的MySQL托管数据库以验证可扩展存储:

  1. 使用来自你的DigitalOcean数据库的连接字符串
  2. 导航到coreflux-broker-data数据库(或你为数据库指定的名称)
  3. 检查MachineProductionData表中存储的记录

验证MySQL中存储的物联网记录

与其他集成一样,所有数据也可在MQTT代理中用于其他用途和下游集成。

监控实时数据流

验证OpenSearch存储

使用提供的URL和凭据打开OpenSearchDashboards

  1. 打开菜单并选择索引管理选项

    1. 在菜单中选择索引选项,查看你的表名是否出现在列表中

检查数据库存储

  1. 返回主页并在菜单中选择发现选项

    1. 按照提供的步骤创建索引模式
    2. 返回到发现页面,你应该会看到你的数据

检查数据库存储

正如我们之前看到的,所有数据都可在MQTT代理中用于其他用途和集成。

检查数据库存储

步骤10 - 扩展你的用例和集成

测试LoT能力

  • 发布示例数据:使用MQTT Explorer将示例数据集发布到你的Coreflux代理。尝试不同的负载结构和不同的模型/操作,查看它们如何处理并存储到你选择的数据库中。
  • 数据验证:验证你数据库中的数据与你发布的有效负载是否匹配。使用你的数据库客户端(PostgreSQL使用DBeaver,MongoDB使用MongoDB Compass,OpenSearch使用OpenSearch Dashboards)检查一致性和准确性,确保你的物联网自动化集成按预期工作。比较时间戳、字段转换和数据类型,以验证你的实时数据管道。
  • 实时监控:使用另一个MQTT数据源(例如具有MQTT连接功能的简单传感器)设置连续的实时数据馈送。观察Coreflux和你的数据库如何处理传入的物联网数据流,并探索数据检索和查询的响应时间。

构建分析和可视化

  • 创建仪表板:与Grafana等可视化工具集成,创建显示你的物联网数据的仪表板,从实时MQTT主题和历史数据库查询中提取数据。跟踪指标,如设备正常运行时间、传感器读数、生产计数或来自你自动化系统的维护警报。了解如何使用我们的教程设置DigitalOcean托管数据库与Prometheus和Grafana的监控。对于实时仪表板,直接订阅MQTT主题;对于历史趋势和聚合,查询你的数据库。
  • 趋势分析:利用你数据库的能力来分析随时间变化的趋势:

    • PostgreSQL:使用SQL查询进行复杂的关系分析
    • MongoDB:使用聚合框架进行基于文档的分析
    • OpenSearch:使用高级分析和搜索能力进行全文搜索和时间序列分析
  • 多数据库集成:探索集成其他托管数据库,如用于非结构化数据的MongoDB,用于关系数据的PostgreSQL,用于结构化查询的MySQL,或用于高级分析和搜索的OpenSearch。使用Coreflux路由将数据同时发送到多个目的地。

优化和扩展你的物联网基础设施

  • 负载测试:使用LoT Notebook或自动化脚本通过同时发布多条消息来模拟高流量。监控你的Coreflux MQTT代理和数据库集群如何处理负载,并识别你的数据管道中的任何瓶颈。
  • 扩展DigitalOcean提供垂直和水平扩展选项。随着你的物联网数据需求增长,增加droplet资源(CPU、RAM或存储)。扩展你的托管数据库集群以处理更大的数据集,并配置自动扩展警报,以便在接近资源限制时通知你。

常见问题解答

1. 如何将Coreflux MQTT代理与托管数据库集成?

你通过定义指向目标服务(PostgreSQL、MySQL、MongoDB或OpenSearch)的LoTRoute来将Coreflux MQTT代理与托管数据库集成。每个路由使用适当的连接参数(服务器或连接字符串、端口、数据库名称、用户名、密码和SSL/TLS选项),并自动将MQTT消息有效负载持久化到表、集合或索引中。一旦定义好路由,你就使用STORE IN指令将其附加到Model,这样每个处理后的消息都会被写入你选择的数据库。

2. 我能否在不编写自定义集成代码的情况下将MQTT数据直接保存到数据库?

可以。Coreflux设计为一个低代码集成层,因此你无需编写应用程序代码或外部ETL作业来持久化数据。对于每种数据库类型,你配置一个LoT路由(例如,PostgreSQL_LogMySQL_Logmongo_routeOpenSearch_Log),然后使用STORE IN "<route_name>" WITH TABLE "MachineProductionData"扩展你的模型。Coreflux处理连接池、重试和错误处理,因此你可以专注于建模主题和转换,而不是样板数据库代码。

3. 我应该为MQTT物联网数据存储选择哪种托管数据库?

你的MQTT物联网数据的最佳托管数据库取决于你的数据结构、查询需求和分析目标。使用下面的比较表来帮助你决定:

数据库最适合示例用例
PostgreSQL强一致性、关系模式、复杂的SQL查询工业传感器网络、事务性事件、需要跨连接数据集的分析
MySQL关系数据、结构化查询、广泛的兼容性库存系统、生产指标、传统业务记录
MongoDB灵活、不断演进的模式;文档存储具有可变负载的互联设备、具有变化格式的物联网遥测
OpenSearch全文搜索、分析、仪表板、日志索引时间序列分析、监控、事件日志、物联网搜索和可视化

提示: 你可以通过配置多个Coreflux路由同时使用多个托管数据库。这使得可以从同一个MQTT流中,将结构化的物联网数据存储在PostgreSQL或MySQL中,在OpenSearch中聚合日志和指标,并在MongoDB中收集非结构化或无模式数据。

4. 这种架构如何处理实时和历史分析?

Coreflux将所有处理后的值保留在MQTT主题上,供实时消费、仪表板或额外管道使用,而Routes则将相同的建模数据持久化到你的数据库中,用于历史查询。在实践中,你可以订阅主题以进行即时反应(警报、控制回路),并查询PostgreSQL/MySQL/MongoDB/OpenSearch以进行聚合、趋势和长期分析。这种双路径设计反映了MQTT和物联网数据集成教程中的常见模式,其中代理提供实时消息传递,而数据库提供持久存储和分析。

5. Coreflux和托管数据库之间的连接有多安全?

当部署在DigitalOcean上时,你可以使用VPC网络来保持Coreflux MQTT代理和数据库之间的所有通信私密。VPC将你的资源与公共互联网访问隔离开来,并且DigitalOcean托管数据库支持连接的TLS加密。此外,你可以为你的Coreflux应用程序创建具有有限权限的专用数据库用户,遵循最小权限原则。

6. 这个设置是否适用于生产环境物联网部署?

是的。这种架构反映了生产环境中MQTT和数据库集成所使用的模式,其中代理前端处理设备流量,而托管数据库层提供持久性和分析。DigitalOcean托管数据库提供自动备份、高可用性和监控,而Coreflux MQTT代理可以水平扩展以处理高消息吞吐量。对于生产环境,你还应该配置防火墙规则、使用强凭据、为MQTT和数据库连接启用TLS,并根据预期的消息量来调整你的droplet和集群大小。

7. 我能否在没有公共互联网访问的情况下,或在混合环境中运行MQTT代理?

可以。MQTT代理通常部署在私有网络或边缘环境中,公共资源一致指出,只要客户端可以访问代理,MQTT就可以在没有公共互联网的情况下工作。使用DigitalOcean,你可以将Coreflux和你的数据库保持在VPC内部,并且只暴露绝对必要的内容(例如,VPN、堡垒主机或有限的防火墙规则)。如果你需要混合或多站点架构,你还可以将选定的主题与其他代理或云区域同步。

8. 在物联网数据中使用MQTT和数据库是否存在任何限制或权衡?

MQTT针对轻量级、事件驱动的消息传递进行了优化;数据库则针对存储和查询进行了优化。存储每一条原始消息可能会变得昂贵或嘈杂,因此最佳实践建议仔细建模数据(例如,聚合指标、过滤主题或降采样)。极低功耗设备或超受限网络可能难以维持持久连接或处理TLS开销,在这种情况下,你可能需要调整QoS级别、批处理和保留策略。只要你在设计中考虑到这些权衡,MQTT加上托管数据库对于大多数物联网场景都能很好地工作。

9. 我如何为我的物联网项目在PostgreSQL、MySQL、MongoDB和OpenSearch之间做出选择?

你应该根据物联网数据结构、可扩展性以及你希望如何查询设备数据来选择托管数据库。下表总结了每个选项的优势:

数据库当...时最佳典型用例关键优势
PostgreSQL你需要复杂的关系查询、强一致性和事务完整性(ACID支持)。工业传感器网络、将设备数据与生产相关联、需要对连接的数据集进行分析关系模式、高级SQL、一致性
MySQL你的工作负载是结构化的,具有广泛的工具和兼容性需求。库存跟踪、传统业务系统、生产指标更简单的关系需求、广泛支持
MongoDB你的设备负载和模式不断演变,或者你希望使用灵活的、基于文档的存储进行快速原型设计。具有可变格式的物联网遥测、快速开发、半结构化数据灵活的模式、易于扩展、快速原型设计
OpenSearch你需要分析、搜索或对大容量的物联网数据(日志、时间序列、事件)进行仪表板展示。搜索传感器数据、日志分析、可视化、基于关键字/时间的查询搜索、全文、分析、快速聚合

结论

将Coreflux MQTT代理与DigitalOcean的托管数据库服务(PostgreSQL、MongoDB、MySQL或OpenSearch)集成,为你提供了实时物联网数据处理和存储的完整设置。按照本教程,你已经使用低代码开发实践构建了一个收集、处理和存储物联网数据的自动化管道。

借助Coreflux的架构和你选择的数据库的存储特性,你可以处理大量的实时数据并查询它以获取洞察。无论你是监控工业系统、跟踪环境传感器还是管理智慧城市基础设施,这种设置都让你能够基于实时MQTT主题和历史数据库查询做出数据驱动的决策。

了解更多关于DigitalOcean托管数据库的信息,以及DigitalOcean 针对 IoT行业的产品服务支持,可咨询 DigitalOcean 中国区独家战略合作伙伴卓普云AI Droplet(aidroplet.com)

你可以尝试提供的用例或使用Coreflux和DigitalOcean实现你自己的用例。你还可以在DigitalOcean Droplet市场或通过Coreflux网站获取免费的Coreflux MQTT代理

前不久,在 AGI‑Next 峰会上,一场持续三个半小时、围绕技术路径与产业走向的高密度讨论,被业内称为“中国 AI 半壁江山聚首”的会议。

91 岁的张钹院士、加拿大皇家学院院士杨强坐镇现场,智谱 AI 唐杰、月之暗面杨植麟、阿里通义千问林俊旸、腾讯姚顺雨四位头部 AI 企业的核心技术负责人罕见同台。讨论的核心并不在于“谁的模型参数更大”,而是集中在三个问题上:中美 AI 技术竞争将如何演化?下一阶段真正的技术分水岭在哪里?以及,智能体(Agent)是否会成为 AI 落地的主战场。

一个明显的共识正在形成:单纯依靠参数规模驱动性能提升的路径,正在逼近边际效应极限。​2026 年之后,AI 的竞争重心将从模型本身,转向能够长期运行、持续决策、并真正嵌入业务流程的智能体(Agent)系统。

在多位嘉宾的表述中,多端协同、云服务、AI 深度融合,正在共同指向一个方向:只有 AI 与 OS 级能力结合,才能真正改变生产方式,而智能体,正是这一趋势下最具代表性的形态。

当 AI 开始承担“自主完成任务”的职责,真正的挑战不再只存在于模型能力,而开始全面转向系统设计本身。

从模型到系统:AI 技术栈正在重新分层

过去几年,主流 AI 技术栈的讨论,大多围绕三层结构展开。最底层是算力与云基础设施,中间是大模型与推理框架,最上层则是具体应用,例如聊天机器人、内容生成工具或 Copilot 形态的产品。

这种分层在“模型即能力”的阶段是成立的。应用只需要调用模型接口,能力边界主要由模型本身决定。然而,当 AI 开始以智能体的形式出现,这一结构开始显得不够用了。

智能体并不是一次性生成结果的工具。它往往需要在一个较长时间窗口内,持续接收信息、进行多轮推理、调用外部工具,并根据中间结果不断调整决策路径。这意味着,系统需要具备状态管理、任务编排、异常处理和长期记忆等能力。

正是在这样的背景下,一个新的技术层开始浮现。它不直接负责“生成得是否更好”,而是负责“是否能稳定运行在真实世界中”。

如果说模型层解决的是“智能从哪里来”,那么 Agent OS 解决的,则是“智能如何持续工作”。它更像是一套面向推理和决策的操作系统,而不是模型的简单封装。

Agent 的痛点,不在模型

从实践情况来看,许多智能体项目并非止步于模型效果,而是卡在了工程与商业现实之间。

推理成为主要算力消耗

与传统应用不同,智能体的核心开销集中在推理阶段。一个典型的 Agent 往往需要进行多轮思考,在任务执行过程中反复调用模型,并与外部系统交互。这种模式带来的,是持续、高频、并发的推理需求。

相比之下,训练阶段的算力投入反而更容易被摊薄。真正长期存在的成本压力,来自推理侧 GPU 的占用。

成本不可控,直接影响商业模型

在企业级场景中,智能体开发往往需要经历数据精调、流程适配和长期测试。单一场景的前期投入就可能达到百万元级别,而收益则高度依赖后续调用量的持续积累。

当推理成本随并发线性增长时,算力账单很快会成为商业模式中的不确定因素。对于多数 Agent 团队而言,这已经不再是一个纯粹的技术问题,而是直接关系到项目能否继续推进的现实约束。

快速迭代与重资产基础设施之间的矛盾

智能体仍处于高速试错阶段。需求变化快,方案调整频繁,团队需要能够随时扩容、回滚和重构系统。但传统 GPU 使用方式往往伴随着较高的门槛和较长的资源锁定周期。

这种不匹配,使得不少团队在基础设施层面被迫做出过度投入或过度保守的选择,进一步放大了风险。

对于 Agent 公司而言,真正需要的并不是性能指标最极致的硬件,而是一种更贴近推理场景、成本可预测、部署足够灵活的算力形态。

推理型 Agent 更适合什么样的算力基础设施

既然 Agent 的核心瓶颈在于“推理成本”与“迭代速度”,那么算力选型就不再是简单的“参数竞赛”,而是一场关于“性价比、显存​容积与部署灵活性”​的精打细算。

过去,开发者往往陷入“非 A100/H100 不可”的误区。但正如 Agent 业务需要分层,底层的基础设施也应根据 Agent 的不同发育阶段进行“精准投喂”。在 DigitalOcean 云平台提供的多元化 GPU 矩阵中,这种“按需匹配”的逻辑得到了清晰的体现。

1. 逻辑打磨期:追求“低试错成本”的开发算力

在 Agent 逻辑尚未定型时,频繁的 Prompt 调试和 Tool-use(工具调用)测试并不需要昂贵的顶级集群。

  • 推荐型号:NVIDIA RTX 4000 ​Ada​ / RTX 6000 Ada 这一阶段,开发者更看重的是​显存性价比​。RTX 6000 Ada 拥有 48GB 的充裕显存,足以在本地或云端高效跑起经过量化的 Llama 3 或中型规模专家模型。DigitalOcean 提供的此类 Droplets,让团队能以极低的门槛启动项目,避免在原型阶段就背负沉重的算力账单。

2. 业务爆发期:寻找“吞吐量与成本”的平衡点

当 Agent 开始接入真实业务,面临多轮对话产生的长上下文(Context)压力时,算力需求会迅速转向​并发能力​。

  • 推荐型号:NVIDIA L40S 作为目前的“推理全能选手”,L40S 在 DigitalOcean 的序列中扮演着中流砥柱的角色。它针对多模态推理和长文本处理进行了优化,其算力结构比传统的 A100 更契合 Agent 的实时交互需求,是企业实现规模化部署、控制单次任务成本的首选。

3. 巅峰对决期:攻克“超长文本与复杂决策”

对于那些定位为“首席专家”的 Agent,由于需要处理数万 Token 的技术文档或进行极高密度的逻辑推理,对硬件的带宽和显存有着近乎苛刻的要求。

  • 推荐型号:NVIDIA H100 / H200 及 ​AMD​ MI300X / MI325XH200 凭借 141GB 的超大显存和惊人的带宽,能够显著降低首 Token 延迟(TTFT),让 Agent 的响应接近“同声传译”般的顺滑。而 AMD MI300X/MI325X 系列则凭借更大的显存池,为那些需要承载超大规模模型参数的 Agent 提供了更具竞争力的单位成本优势。

为什么 DigitalOcean 适合作为 Agent 的“动力源”?

除了硬件型号的精准匹配,DigitalOcean 在工程体验上也解决了前文提到的“重资产与快迭代”之间的矛盾:

  • 算力随借随还​:GPU Droplets 的按需启停特性,让 Agent 团队能像使用自来水一样调用 H100 或 L40S,完美契合智能体业务“高频试错、快速回滚”的节奏。
  • 线性增长的成本曲线​:DigitalOcean 的计费规则简单透明,不会像 AWS、GCP 等存在复杂的带宽和存储计费规则。让 Agent 的商业模型(Business Model)从第一天起就是可预测的——当算力不再是难以预测的变量,团队才能真正把精力投入到 Agent OS 的决策逻辑打磨上。
GPU 型号GPU MemoryDroplet 服务器 MemoryDroplet vCPUsBoot DiskScratch Disk
AMD Instinct™ MI325X256 GB164 GiB20720 GiB NVMe5 TiB NVMe
AMD Instinct™ MI325X×82,048 GB1,310 GiB1602,046 GiB NVMe40 TiB NVMe
AMD Instinct™ MI300X192 GB240 GiB20720 GiB NVMe5 TiB NVMe
AMD Instinct™ MI300X×81,536 GB1,920 GiB1602,046 GiB NVMe40 TiB NVMe
NVIDIA HGX H200141 GB240 GiB24720 GiB NVMe5 TiB NVMe
NVIDIA HGX H200×81,128 GB1,920 GiB1922,046 GiB NVMe40 TiB NVMe
NVIDIA HGX H10080 GB240 GiB20720 GiB NVMe5 TiB NVMe
NVIDIA HGX H100×8640 GB1,920 GiB1602,046 GiB NVMe40 TiB NVMe
NVIDIA RTX 4000 Ada Generation20 GB32 GiB8500 GiB NVMe
NVIDIA RTX 6000 Ada Generation48 GB64 GiB8500 GiB NVMe
NVIDIA L40S48 GB64 GiB8500 GiB NVMe

以上是目前 DigitalOcean 云平台提供的部分 GPU 型号,另外还将上线 NVIDIA B300 GPU 服务器,具体价格与优惠政策,可详细咨询 DigitalOcean 中国区独家战略合作伙伴卓普云(aidroplet.com)。同时,卓普云还将为所有中国区企业客户提供专业的技术支持。

Agent 时代,基础设施开始决定上限

随着模型能力逐渐趋同,智能体之间的差异化,越来越多地体现在系统设计、运行效率和成本控制上。Agent OS 正在成为连接模型能力与真实世界的关键一层,而支撑这一层稳定运行的基础设施,其重要性正在被重新认识。

在 Agent 时代,算力不再只是背景资源,而是直接参与塑造产品形态和商业模式的核心变量。选择什么样的算力结构,本质上是在为未来的成本曲线和迭代速度做出提前决策。

当智能体开始像“数字员工”一样长期运行,基础设施的选择,正在悄然决定一家 Agent 公司的上限。

如果您正处于 Agent 业务的爆发前夜,正在寻找更具推理性价比、部署灵活性与成本透明度的算力支撑:

卓普云(aidroplet.com)作为 DigitalOcean 中国区战略合作伙伴,致力于为中国出海企业及 AI 创新团队提供最贴合业务场景的 ​GPU算力方案。从 RTX 6000 ​​​Ada​ 的快速原型验证,到 H200/MI325X 的大规模推理部署,我们不仅提供顶级的算力节点,更提供本地化的技术支持与合规、便捷的支付结算服务​,助力您的 Agent 业务轻装上阵,快速跑通商业闭环。

👉 想要获取专属的 Agent ​算力优化方案或申请 ​GPU​ 免费试用?直接联系卓普云技术团队

在当今的互联网出海与数字化转型浪潮中,选择合适的云服务商已成为企业技术选型中最重要的决策之一。面对亚马逊 AWS、微软 Azure、谷歌云 GCP 这样的传统三强,以及以“简单、高效、高性价比”著称的 DigitalOcean,技术负责人和工程师们往往会面临多重考量:是追求功能的极致全面,还是追求管理的极度简化?是为品牌溢价付费,还是寻找更务实的增长方案?

本文将深度拆解 AWS、GCP(谷歌云)、Azure 与 DigitalOcean 的核心区别,从定价逻辑、核心产品、网络优势、AI 能力及中国企业出海实践等维度,为你提供一份详尽的选型参考指南。

AWS、Azure 与 GCP 的定位差异

在云计算市场中,AWS、Azure 和 GCP(谷歌云) 占据了主导地位。它们凭借早期的先行者优势、庞大的资本投入和全球基础设施,构建了极高的行业门槛。

1、AWS:功能最多的云平台

作为云计算的开创者,AWS 是目前全球市场占有率最高的云平台之一。

  • 核心优势​:服务种类最为繁多,涵盖计算、存储、数据库、物联网及 AI 等 200 多项功能。其 EC2 实例提供了超过 200 种类型,能够满足从高性能计算到存储密集型的任何极端需求。
  • 适用人群​:需要极其复杂的架构设计、拥有大型运维团队的大型企业。而且该平台学习成本高,需要运维团队有使用经验才行。
  • 痛点​:由于服务过于繁杂,其管理控制台极其复杂,且定价逻辑被称为“成本黑洞”。如果没有专业的成本管理工具,月度账单往往会超出预期。

2、Azure:微软生态圈首选

微软 Azure 凭借与 Windows Server、SQL Server、Office 365 和 .NET 等微软产品的深度集成,成为已经投资于微软技术栈企业的自然选择。

  • 核心优势​:与 Windows Server、SQL Server、Active Directory 和 Office 365 的集成极其丝滑。对于已经深度投资微软技术的组织,Azure 提供了最佳的混合云解决方案。
  • 适用人群​:传统大型企业、政府机构,以及对合规性、混合云部署有极高要求的行业。
  • 痛点​:对于非 Windows 生态的开发者,其体验相对较重,且部分服务的稳定性经常被开发者社区吐槽。

3、GCP(谷歌云):数据与 AI 的“实验室”

GCP(谷歌云) 依靠谷歌在搜索引擎和大数据处理方面的深厚积累,走出了一条差异化道路。

  • 核心优势​:在数据处理、分析和机器学习领域表现卓越,它是 Kubernetes 的发源地,其 GKE(Google Kubernetes Engine)被公认为行业标杆。
  • 适用人群​:依赖大数据处理、实时分析和深度学习的初创科技公司或研究机构。
  • 痛点​:其全球数据中心覆盖范围相比 AWS 和 Azure 略逊一筹,且销售和支持体系在非核心地区相对薄弱,比如中国地区。

“三巨头”之外的最佳替代者

虽然三巨头功能强大,但对于追求开发速度和成本可控的中小型企业及初创公司来说,它们往往“重”得让人喘不过气。DigitalOcean(简称:DO)的出现,正是为了解决这种“过度设计”的问题。对于很多习惯了 AWS 复杂控制台的工程师来说,第一次登录 DigitalOcean 的后台通常会有一种“解脱感”。凭借着诸多优点,稳定的用户增长和用户口碑,DigitalOcean 也在 2021 年成功上市。

1、极致的简单:回归开发者的本原

DigitalOcean 的核心理念是“Developer-friendly”。与 AWS 复杂的配置流程不同,在 DO 上创建一个 VPS(其产品名是 Droplet)通常只需要 1 分钟左右。

  • 直观的界面​:其 UI 设计极其现代化且简洁,即使是没有深厚 DevOps 背景的工程师也能快速上手。
  • 文档力量​:DigitalOcean 拥有全球最顶尖的开发者社区文档,其教程不仅限于自身产品,还涵盖了通用的 Linux 系统运维知识。

2、确定性定价:再也不用担心“账单惊魂”

这是 DigitalOcean 对抗三巨头云平台的“杀手锏”。

  • 平价模型​:DO 采用扁平化的定价,资源配置(CPU、内存、带宽)与价格高度透明。例如,一个基础型的 Droplet 仅需 4 美元/月起。你在 DigitalOcean 后台创建一台 Droplet 云主机的时候,所看到的价格基本就是你月底即将支付的价格。
  • 带宽红利​:在 AWS/GCP(谷歌云) 上,昂贵的出站流量费用(Outbound Data Transfer)往往是账单的大头(约 0.05-0.09 美元/GiB)。而且,AWS/GCP(谷歌云)在不同区域的出站流量费用计算标准不同,你很难预测最终会收到多大的账单。而 DigitalOcean 不仅在 Droplet 计划中包含了海量的免费流量额度,超出部分的单价仅为 ​0.01 美元/GiB,所有区域都是这个价格​。这个价格也低于阿里云、腾讯云在海外的跨区域出站流量价格。这对于 ADX 广告平台、视频流媒体、AI 推理服务、游戏和高并发 API 服务来说,能节省 50% 以上的成本。

技术对比:四家云商在核心赛道的表现

作为技术负责人,我们需要从底层的技术能力出发进行选型。以下是四大云商在关键领域的对比:

1、计算资源(Compute)

  • AWS​ EC2​:支持数千种组合,包括基于 Arm 架构的 Graviton 芯片,适合追求极致算力和架构灵活性的场景。
  • AzureVM​:对 Windows 系统优化最好,支持 Azure Dedicated Host。
  • GCP Compute Engine​:支持自定义机器类型,可以精准按需购买 CPU 和内存比例,减少资源浪费。
  • DigitalOcean Droplets​:分为基础型、通用型、CPU 优化型、内存优化型和存储优化型。配置简单明确,提供 99.99% 的运行时间 SLA 保证。事实上,也有不少海外企业选择从 AWS、GCP(谷歌云)、Azure 迁移至 DigitalOcean,或进行多云部署。

2、容器化管理(Kubernetes)

  • AWS​ EKS​:最成熟,但在控制平面收费(0.1 美元/小时),且与网络策略、IAM 集成较为复杂。
  • GCP GKE​:自动化程度最高,拥有最强大的自动扩缩容能力。
  • DigitalOcean kubernetes​:管理最为简单,且​不收取控制平面的管理费​。开发者只需支付底层的 Worker Nodes 费用,这使其成为中小规模 K8s 集群的最佳选择。

3、AI 与 GPU 云服务

在当前的 AI 浪潮下,GPU 的可用性与价格是重中之重。

亚马逊 AWS、微软 Azure、谷歌云 GCP 虽然拥有海量 GPU,但通常需要通过冗长的“配额申请”,且 H100 等高端算力价格昂贵,主要面向大模型训练。AWS 这样的大型云平台,通常优先服务于大型企业,所以他们只会提供 8 卡 H100 这样的资源,没有单卡 H100 供用户灵活选择。而且数据存储与带宽成本高昂,这一点,我们在后面会对比。

DigitalOcean 现在提供了极具竞争力的GPU Droplets。DigitalOcean 与 NVIDIA、AMD 是紧密的合作伙伴,凭借高可靠的技术服务,为包括 Character.ai、AMD Developer Cloud、Fal.ai、Persistent AI 等企业提供千卡规模的 AI 服务。

  • NVIDIA H100 ​算力​:DO 的 H100 On-demand 价格约为 ​3.39 美元/小时​,相比三巨头能节省高达 75% 的成本。
  • 型号丰富​:不仅提供 H100,还包括 L40S、A100、RTX 4000 等,支持从模型训练到 AI 推理的全场景应用。而且 DigitalOcean 的 GPU 卡型还在不断增加,预计在 2026 年初还将提供 NVIDIA B300、AMD MI355X 等旗舰 GPU。
  • 即开即用​:DigitalOcean 的 GPU Droplet 无需繁琐申请,适合需要快速验证 AI 原型的初创团队。在部分 GPU 型号资源不足的,或者新型 GPU 还未发布上线的情况下,还可直接联系 DigitalOcean 中国区独家战略合作伙伴卓普云 AI Droplet (aidroplet.com)提前预定新型 GPU,或提前锁定未来可能即将新增的 GPU 资源。

4、出海网络与全球覆盖

  • 三巨头​:亚马逊 AWS、微软 Azure、谷歌云 GCP 在全球范围内拥有数百个边缘节点和区域(Regions),基础设施最为庞大。
  • DigitalOcean​:在 9 个核心区域拥有 15 个数据中心,包括纽约、旧金山、伦敦、阿姆斯特丹、法兰克福、新加坡、多伦多、班加罗尔和悉尼。对于中国企业出海而言,其新加坡节点(SGP1)对东南亚用户非常友好,而其欧美节点则是搭建出海站点的首选。

出了以上产品服务,亚马逊 AWS、微软 Azure、谷歌云 GCP、DigitalOcean 还提供常见的数据库托管、对象存储、块存储、负载均衡等一系列产品服务。

粗略算一笔账:1 TB 数据的实际取回成本

由于亚马逊 AWS、微软 Azure、谷歌云 GCP、DigitalOcean 的产品服务众多,我们无法对他们的服务成本进行逐一对比。但我们可以从其中一项存储服务成本来管中窥豹。之所以选择存储服务,是因为从目前趋势来讲,AI 、流媒体等产品

假设在 AWS 与 DigitalOcean 上分别存储 ​1 TB 的冷数据​,当业务需要重新使用该数据(如模型复训、历史数据回放或分析计算)时,其实际成本并不仅仅体现在存储单价上,而主要集中在​数据取回与流转阶段​。

以 AWS 为例,若数据存储在 ​S3 Glacier Flexible Retrieval​:

  • 数据取回费用约为 ​$0.01/GB(​注意:​ 如果选择“加急(Expedited)”,价格会飙升至 $0.03/GB;如果选择“批量(Bulk)”,可以降至 $0.0025/GB,但耗时需 5-12 小时。)
  • 1 TB 数据一次性取回成本约为 $10

取回完成后,数据将临时恢复至 S3 Standard,并在后续产生:

  • 标准存储费用
  • 可能的跨可用区或公网出站流量费用

在实际工程中,这部分成本往往与 GPU 使用周期强相关。

相比之下,若数据需要被拉取至云外 GPU 平台(如独立 GPU 云或海外算力节点),还将额外产生:

  • 公网出站流量费用(通常约 ​$0.09/GB​)
  • 1 TB 数据出站成本约为 $90

也就是说,一次完整的数据“冷存 → 取回 → 计算”流程,其实际支出结构大致为:

$10 数据取回 +$90 数据出站 ≈ $100 单次数据流转成本(不含存储本身)

如果将同样的使用场景放在​​ DigitalOcean 上​,其成本结构会明显简化。

在 DigitalOcean 中,Spaces 对象存储并不区分冷热层级,数据始终处于可直接访问状态,因此​不存在取回费用,也无需等待解冻过程​。当 1 TB 数据需要重新用于 GPU 计算时,可直接从 Spaces 读取至同区域的 GPU Droplet,不产生额外的数据检索或内部传输费用。

在公网数据分发阶段,Spaces 基础订阅($5/月)包含 1 ​TB​​​ 的免费出站流量​。在该额度内,完整的数据取回与下发过程不会产生额外流量费用。

所以在 AWS 需要 100 美元左右,而在 DigitalOcean 仅需 5 美元。

在数据规模达到数 TB 或需要周期性复训的场景下,​数据流转费用往往会显著超过冷存储本身的长期成本​,成为影响整体 GPU 使用效率与算力预算的重要因素。

选型决策:你的企业该如何选择?

1、什么时候选 AWS / Azure / GCP?

  • 架构极度复杂​:当你的业务需要覆盖非常多的区域、高度定制化的数据库集群或卫星通信、量子计算等尖端服务时。
  • 合规性要求极高​:如果你是金融机构,需要通过极其严苛的政府合规性认证。
  • 微软生态依赖​:业务底层深度依赖 .NET、Active Directory 和 Windows 域管理。

2、什么时候 DigitalOcean 是更明智的选择?

  • 中小型企业/初创团队​:你没有庞大的运维团队,希望工程师能专注于业务代码,而不是钻研繁琐的云平台配置。
  • 成本高度敏感​:特别是那些有大量出站流量(如 AI、区块链、广告平台等)的业务,DigitalOcean 的流量费用优势几乎无可替代。
  • AI/ML​​​ 快速开发​:需要稳定的 GPU 算力进行模型推理或小规模训练,且对性价比有极高要求。
  • 业务全球化出海​:需要快速在海外(如北美、欧洲、东南亚)部署稳定节点。

中国企业的特别助力:卓普云 AI Droplet

对于中国境内的技术负责人来说,直接使用海外云服务往往面临支付流程复杂、技术支持跨时区等问题。卓普云 AI Droplet作为 DigitalOcean 的中国区战略合作伙伴,专门为 DigitalOcean 在中国及亚太地区的企业客户提供售前咨询、技术支持。

通过卓普云,中国企业可以​无缝对接 DigitalOcean 全线产品​,包括高性能的 GPU H100 实例和常规 Droplets,甚至预约提前测试即将上线的新产品,比如 NVIDIA B300 GPU Droplet,抢占旗舰级 AI 算力资源。同时,卓普云还提供​专业的技术咨询​,帮助企业将架构平稳迁移至 DO,实现低成本快速业务上线。

与此同时,由于 卓普云 AI Droplet 是由 DigitalOcean 最大股东全资建立的,所以可以帮助客户获得 DigitalOcean 的一手资源,以及进一步的​优惠折扣​。

总结

AWS、Azure 和 GCP(谷歌云)就像是功能齐全、体量巨大的超级航母,虽然能抵御任何风浪,但转向缓慢且运行成本高昂。而 DigitalOcean 更像是一艘轻快、敏捷且火力精准的巡洋舰。

对于大多数处于快速增长期的中国出海企业而言,“不过度设计、可预测的成本、卓越的性能”才是技术选型的真谛。DigitalOcean 通过简化复杂的云原生技术,让技术团队能腾出手来,去创造更有价值的业务成果。

无论你的目标是构建下一个独角兽应用,还是在全球范围内部署 AI 推理节点,深入理解这四大云服务商的区别,将为你企业的技术长青奠定坚实的基础。

DigitalOcean(纽约证券交易所代码:DOCN)——全球领先的综合性智能体云(agentic cloud)平台,宣布与全球领先的数字工程与企业现代化服务商 Persistent Systems(孟买证券交易所代码:533179;印度国家证券交易所代码:PERSISTENT)达成一项多年期、年均金额达八位数的战略合作,为全球数字原生企业及开发者提供更经济、可扩展且安全的人工智能(AI)解决方案。此次合作旨在通过提供高性价比、易于获取的基础设施,加速 AI 技术的落地应用,为创新和业务增长提供坚实支撑。

作为合作的重要组成部分,Persistent 已选定 DigitalOcean 为其独家云与 AI 基础设施提供商,用于支持其自研的 AI 驱动平台 SASVA™。SASVA™ 能够无缝整合代码、文档、架构图及高管摘要,并灵活适配各类工作流和角色需求。该平台依托 DigitalOcean Gradient™ AI 智能体云运行 AI 工作负载和客户部署,不仅利用 Gradient AI 平台覆盖从开发到部署的完整智能体生命周期,还采用 DigitalOcean Gradient AI 基础设施中提供的高性能GPU资源,确保高效、可靠且成本可控的运行体验。

随着企业加速拥抱 AI,他们正面临多重挑战:GPU 与基础设施成本不断攀升、智能体开发生态碎片化、以及日益严峻的安全与合规压力。Persistent 与 DigitalOcean 的此次合作,正是为了系统性地破解这些障碍——将 Persistent 在 AI 工程领域的深厚积累与平台创新能力,与 DigitalOcean 强大的智能体云基础设施及 AI 平台相结合。双方已就 SASVA™ 及其推理工作负载在 Gradient AI 智能体云上的长期部署作出承诺,共同打造安全、经济、企业级就绪的 AI 解决方案,助力各类规模的组织实现切实可行的 AI 价值与规模化应用。

借助 DigitalOcean 智能体云的能力延伸,Persistent 将帮助客户通过高性价比的 AI 部署实现可量化的业务成果与加速发展。​这一合作有望将 AI 基础设施与运营成本降低 50% 以上,显著加快各行业 AI 应用的采纳速度,并实现更可预测的规模化扩展。​同时,Persistent 还将结合其 SASVA™ 平台与深厚的工程能力,助力 DigitalOcean 加速推进其 AI 产品路线图,进一步提升下一代 AI 云平台在性能、效率与功能方面的综合竞争力。

这一合作也彰显了像 Persistent 这样的领先技术服务企业正选择 DigitalOcean 作为其下一代 AI 工作负载的核心引擎。Persistent 之所以选择 Gradient AI 智能体云,正是看中其在性能、透明度与成本可预测性方面的卓越表现,能够为数字原生企业和 AI 原生客户提供业界一流的基础设施。此外,该平台还支持 AI 技术演进过程中的无缝扩展,通过托管式、开箱即用的环境大幅降低基础设施与运维成本,并持续为 SASVA™ 用户提供丰富多样的模型、框架及 AI 加速器资源。

DigitalOcean 首席执行官 Paddy Srinivasan 表示:“我们的智能体云致力于提供让 AI 触手可及、易于扩展且成本可控的基础设施、平台与服务。与 Persistent 的合作,将把这些能力拓展至更多企业级应用场景,把我们的 AI 基础架构与 SASVA™ 所代表的确定性工程方法深度融合。我们正携手推动 AI 解决方案的大规模落地。”

Persistent Systems 首席执行官兼执行董事 Sandeep Kalra 表示:“当企业从 AI 实验阶段迈向全面嵌入核心业务的新阶段,成功的关键在于能否以速度、信任和可衡量的影响实现规模化。我们与 DigitalOcean 的合作正是这一转型的典范——将 Persistent 在 AI 工程领域的专长与 SASVA 平台,与 DigitalOcean 的智能体云相结合,帮助客户自信地将 AI 投入生产运营。我们正在简化组织构建、部署和扩展 AI 的方式,为下一波由智能平台驱动的创新浪潮夯实基础。”