我想部署一个带有 aws 托管气流的气流集群。 aws 提供不同的气流环境类别,例如“mw1.small”,具有 1 个 vCPU 和 2 GB RAM [1]。此外,还可以设置“最小工人数”和“最大工人数”。
我假设集群会在最小和最大工作人员数量之间自动增加和减少工作人员数量,并且每个活动气流 DAG 占用一个“工作人员”(虽然我对此不确定,但 aws 文档对于这一点很神秘)我)。
我不明白的是:每个工作人员是否都拥有环境类别指定的资源(例如,每个工作人员有 1 个 vCPU 和 2 GB RAM),还是在所有工作人员之间共享环境类别的资源?
例如,在“mw1.small”环境中,如果我有 5 个 DAG 并行运行(大概在 5 个工作线程上?),每个工作线程是否可以访问 1 个 vCPU 和 2 GB RAM?[1]
https://docs.aws.amazon.com/mwaa/latest/userguide/environment-class.html
此外,还有一个名为
celery.worker_autoscale
的设置,指定可以在任何给定工作线程上同时运行的最大和最小任务数。对于小型环境,默认设置为
5,5
。有关更多详细信息,请参阅
AWS 文档。