先决条件#
功能可用性 Embed 功能需要有效的 Embed 许可证。有关何时使用 Embed、费用及许可流程的更多信息,请参阅 n8n 官网上的 Embed 页面。 此处列出的要求基于 n8n Cloud 的示例,仅用于说明目的。您的实际需求可能因用户数量、工作流数量和执行频率而异。如需更多信息,请联系 n8n。
| 组件 | 规格要求 | 支持情况 |
|---|---|---|
| CPU/vCPU | 最低 10 个 CPU 周期,可根据需要扩展 | 任何公有云或私有云 |
| 数据库 | 512 MB - 4 GB SSD | SQLite 或 PostgreSQL |
| 内存 | 320 MB - 2 GB |
CPU 考虑事项#
n8n 对 CPU 的消耗不高,因此对于大多数使用场景,即使是小型实例(例如来自 AWS 和 GCP 的实例)也已足够。通常情况下,内存需求会高于 CPU 需求,因此在规划基础设施时应优先考虑内存资源配置。
数据库考虑事项#
n8n 使用其数据库来存储 凭证(credentials)、历史执行记录以及工作流。
n8n 的一个核心特性是支持灵活选择数据库。所有受支持的数据库各有优缺点,您需要根据自身需求进行权衡并选择最适合的方案。默认情况下,如果指定位置没有现有数据库,n8n 将创建一个 SQLite 数据库。
建议每个 n8n 实例都使用独立的数据库,以避免依赖关系和潜在的性能下降问题。如果无法为每个 n8n 实例提供独立数据库,n8n 建议使用 PostgreSQL 的 schema 功能来隔离数据。
对于 PostgreSQL,数据库必须已在数据库实例上预先存在。运行 n8n 进程所用的数据库用户需要对其使用或创建的所有表具有完全权限。n8n 会自动创建并维护数据库的 schema 结构。
最佳实践#
- 使用 SSD 存储。
- 在容器化的云环境中,确保在停止/启动容器时卷(volume)能够持久化并正确挂载。否则,所有数据将丢失。
- 如果使用 PostgreSQL,请勿使用
tablePrefix配置选项。该选项将在不久的将来被弃用。 - 关注新版本的变更日志(changelog),并在降级版本前考虑回滚迁移操作。
- 至少配置基本的数据库安全与稳定性机制,例如 IP 白名单和备份策略。
内存注意事项#
一个 n8n 实例通常不需要大量的可用内存。例如,一个空闲状态的 n8n Cloud 实例大约需要 ~100MB 内存。真正决定内存需求的是你的工作流(workflow)特性以及正在处理的数据量。
例如,虽然大多数节点只是将数据传递给工作流中的下一个节点,但 Code 节点 会在预处理和后处理阶段创建数据的副本。在处理大型二进制文件时,这可能会耗尽所有可用资源。