生产环境配置
本篇是基于实战经验的生产环境配置建议。无论你用哪种部署方式,上生产前都应对照检查。
架构选型
生产环境推荐 Docker Compose(小规模)或 Kubernetes(大规模), 不要用单容器 PGLite 模式。核心组件三件套:
- 链盒应用(无状态,可多实例)
- PostgreSQL(存储流程、连接、运行记录,需独立且持久化)
- Redis(执行队列与缓存)
资源规划
资源规划从一个数字出发——「预估并发流程数」:
| 规模 | 并发 | 建议配置 |
|---|---|---|
| 小型 | ≤ 50 | 4 核 8G 单实例 |
| 中型 | 50-200 | 8 核 16G + 2 实例 |
| 大型 | 200+ | K8s 多实例 + 独立 DB |
必做的生产配置
1. 持久化数据库
PostgreSQL 数据必须有独立的持久化卷或云托管实例,不要用容器临时存储。 配置定期备份(建议每日全量 + WAL 归档)。
2. HTTPS 与反向代理
前面放 Nginx 或 Caddy 做 HTTPS 终止。配置 AP_WEBHOOK_URL 和AP_FRONTEND_URL 为你的正式域名(HTTPS)。
3. 文件存储外置
流程中的文件(如附件、临时数据)建议存到 S3 兼容对象存储或共享卷,而非本地磁盘。 这样多实例间共享且易于备份。配置 AP_FILE_STORAGE_LOCATION, S3 场景可设 AP_S3_USE_SIGNED_URLS 控制访问方式。
4. 执行隔离
选择合适的执行模式(AP_EXECUTION_MODE)。生产环境推荐SANDBOX_PROCESS,让每个流程在独立子进程运行,兼顾安全与性能。 避免用 UNSANDBOXED 跑不受信任的流程。
5. 监控与告警
接入 OpenTelemetry 或 Prometheus 监控。关键指标:流程执行延迟、失败率、 队列堆积、实例资源使用。配置失败告警通知运维。
高可用
链盒应用本身无状态,可直接横向扩展多实例(前面加负载均衡)。 PostgreSQL 用主从或云托管高可用版,Redis 用集群或哨兵模式。 多实例部署时执行模式建议 SANDBOX_PROCESS,并参考Worker 分离。
安全检查清单
- 所有密码、密钥使用强随机值(部署脚本会自动生成)
- 数据库、Redis 不暴露公网,仅集群内访问
- HTTPS 强制,禁用明文 HTTP 访问
- 定期更新链盒版本修复安全漏洞
- 敏感配置用密钥管理服务(见管理指南)