第21章 部署(Deploy)
部署
Mastra 应用可以部署到任何兼容 Node.js 的环境中。你既可以部署 Mastra 服务器,也可以将其集成到现有的 Web 框架中。此外还支持云服务商部署,以及提供可观测性、Studio 和服务器托管能力的 Mastra 平台。
运行时支持
Mastra 可以在以下运行时环境中运行:
- Node.js v22.13.0 或更高版本 - Bun - Deno - Cloudflare
部署方式
Mastra 服务器
Mastra 提供了一个基于 Hono 的服务器,可以独立部署。使用 mastra build 命令构建应用,然后将构建产物部署到你偏好的 VM、容器或 PaaS 平台。
当你需要对基础设施有完全控制、需要长时间运行的进程或 WebSocket 连接时,选择这种方式。详情见 Mastra 服务器部署指南。
Monorepo
可以将 Mastra 服务器作为 monorepo 的一部分进行部署,方式与独立部署相同。
阅读 monorepo 部署相关内容。
Mastra 平台
Mastra 平台提供三个产品,用于部署、监控和管理基于 Mastra 框架构建的 AI 应用:
- 可观测性:独立托管的产品,支持跨 Mastra 项目和部署搜索 traces、日志和指标 - Studio:托管的可视化环境,用于测试 Agent、运行工作流以及查看 traces - 服务器:生产级部署目标,将你的 Mastra 应用作为 API 服务器运行
更多信息见 Mastra 平台概览。
云服务商
Mastra 应用可以部署到云服务商和无服务器平台。Mastra 内置了可选的 Vercel、Netlify 和 Cloudflare deployer,会为各平台完成应用构建,之后你通过平台本身部署构建产物。
当你需要自动扩缩容、最小化基础设施管理,或已经在使用其中某个平台时,选择这种方式。
Amazon Bedrock AgentCore、Amazon EC2、AWS Lambda、Azure App Services、Cloudflare、Digital Ocean、Inngest、Kubernetes、Kubernetes (Helm)、Neon、Netlify、Render、Temporal、Vercel
沙箱
将 Mastra 服务器部署到临时工作区沙箱(如 Vercel Sandbox 或 E2B),几秒钟内即可获得公开的访问 URL。
适用于即时预览、从 CI 流水线部署、验证 Agent 构建的应用,或运行互不信任的每用户实例。阅读沙箱部署指南。
Web 框架
当 Mastra 集成到 Web 框架中时,它会随应用一起使用该框架的标准部署流程。以下指南涵盖了各框架部署时的特定配置要求。
在现有 Next.js 或 Astro 应用中添加 Mastra 时,请参考这些指南:
- 与 Next.js 一起部署到 Vercel - 与 Astro 一起部署到 Vercel - 与 Astro 一起部署到 Netlify
工作流运行器
Mastra 工作流默认使用内置执行引擎运行。对于需要托管基础设施的生产负载,工作流也可以部署到 Inngest 等专业平台,它们提供步骤记忆化、自动重试和实时监控。
执行方式详见工作流运行器指南,配置说明见 Inngest 部署指南。
Workers
在生产部署中,Mastra 可以将工作流编排、cron 定时任务以及后台工具执行放入与 API 服务器分离的专用 worker 进程中运行。这样可以对各项能力独立扩缩容,并隔离故障。详见 Workers 文档。