簡體   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