1. 项目背景与核心价值
n8n作为一款开源的自动化工作流工具,在2.9.2版本中强化了分布式执行能力。通过Docker部署外部执行器(External Executor),可以实现工作流任务的负载均衡和资源隔离。这种架构特别适合需要处理高并发自动化任务的企业环境,比如电商订单处理、跨系统数据同步等场景。
我在实际部署中发现,官方文档对生产环境下的配置细节描述较为简略。本文将基于三个真实客户案例的部署经验,详解如何构建高可用的n8n执行器集群,并分享性能调优的实战技巧。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 环境准备与架构设计
2.1 基础组件选型建议
推荐使用以下Docker镜像组合:
- 主节点:n8n官方镜像
n8nio/n8n:2.9.2 - 执行器:定制化镜像(基于
node:18-alpine构建) - 数据库:PostgreSQL 14(生产环境必选)
- 消息队列:Redis 6.2(实现执行器任务分发)
重要提示:避免使用SQLite作为生产环境数据库,当并发任务超过50个时会出现性能断崖式下降
2.2 网络拓扑规划
典型的生产部署架构应包含:
mermaid复制graph TD
A[主节点] -->|HTTP| B(负载均衡器)
B --> C[执行器组1]
B --> D[执行器组2]
A -->|PostgreSQL| E[(数据库集群)]
A -->|Redis| F{[消息队列]}
3. 详细部署步骤
3.1 主节点配置
创建docker-compose.yml文件:
yaml复制version: '3'
services:
n8n:
image: n8nio/n8n:2.9.2
environment:
- DB_TYPE=postgresdb
- DB_POSTGRESDB_DATABASE=n8n
- DB_POSTGRESDB_HOST=postgres
- EXECUTIONS_MODE=queue
- QUEUE_BULL_REDIS_HOST=redis
ports:
- "5678:5678"
depends_on:
