并发池
并发池让管理员把并发配额在多个项目间灵活分配,保障关键项目有足够资源、 防止个别项目占满全部并发。这是企业版的高级资源管理功能。
问题背景
没有并发池时,所有项目共享 Worker 的并发上限(DEFAULT_CONCURRENT_JOBS_LIMIT)。 一个项目跑大量流程时,可能把并发占满,导致其他项目的流程排队等待。
并发池如何解决
并发池把并发配额分组。每个池设定 maxConcurrentJobs, 项目被分配到某个池(Project.poolId)。同一池内的项目共享该池的配额, 不同池互不影响。
核心业务池
并发上限 20
订单项目 · 支付项目
报表项目池
并发上限 5
日报项目
默认池
不设上限
其他项目
关键属性
- 池标识:每个池有
platformId和key(自定义名称) - 并发上限:
maxConcurrentJobs,设为UNLIMITED(1000000)表示不限 - 项目绑定:项目通过
poolId归属到某池
配置建议
- 关键项目:单独建池,预留充足并发,保证高优业务不被挤占
- 批量任务(如数据同步):建小池限制并发,避免拖垮系统
- 非关键项目:归入默认池,共享剩余配额
- 总并发上限应 ≤ 所有 Worker 实例的并发能力之和
与并发限制的关系
并发池是更细粒度的管理。基础并发限制(PROJECT_RATE_LIMITER_ENABLED +DEFAULT_CONCURRENT_JOBS_LIMIT)控制单实例上限,并发池在此之上 按项目组分配配额。两者配合详见并发管理。
启用条件
并发池是企业版功能。需要平台计划支持,且通常配合Worker 分离部署使用, 以便把不同池的执行负载分配到不同 Worker 组。