繁体   English   中英

使用Amazon EC2的Autoscale Python Celery

[英]Autoscale Python Celery with Amazon EC2

我有一个Celery任务管理器来处理公司分析的一些数字。

任务管理器和工作人员托管在Amazon EC2 Linux服务器上。

我需要设置系统,如果我们向芹菜发送太多任务,亚马逊会自动设置一个新的EC2实例来运行更多的工作人员并平衡这些工作人员的负载。

我所知道的服务是亚马逊自动缩放和亚马逊负载均衡服务,这似乎正是我想要使用的,但我不确定配置Celery的最佳方式是什么。

认为我应该有一个收集所有任务的芹菜“主人”和一些执行它们的芹菜工人。 随着任务数量的增加,我想增加更多的工作人员。 自动缩放的工作方式(通过服用芹菜服务器的AMI)我认为我正在克隆Master和工作人员,这似乎不是我想做的事情。

我如何组织这个以实现我的最终目标,即使用Celery管理任务和Amazon Web Service来托管计算的灵活的自动缩放任务管理。

因为大多数教程或建议似乎都假设我目前没有大量的知识,所以在任何答案(或教程的链接!)中尽可能详细的细节将非常受欢迎!

您不需要使用master-worker体系结构来实现此功能。 如果我正确理解您的问题,您希望能够根据队列大小进行扩展。 我会说如果你有以下步骤会更容易

  1. 为代理设置elasticache / sqs (因为你在aws中)
  2. 对于自定义缩放 - 使用类似这样的东西检查队列大小的周期性任务或者在CPU使用率高时添加amazon自动缩放以仅添加/删除机器(假设这是足够好的负载指示)。 此外,使用--autoscale启动工作程序,以便正确反映CPU使用情况。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM