[英]Differentiate celery, kombu, PyAMQP and RabbitMQ/ironMQ
我想將圖像上傳到S3服務器,但在上傳之前我想生成3種不同大小的縮略圖,我希望它可以在請求/響應周期之外完成,因此我使用的是芹菜。 我已經閱讀了文檔,這是我所理解的。 如果我錯了,請糾正我。
現在我的理解是 - 如果多個用戶同時上傳圖像,芹菜會將調整大小排隊,調整大小實際上會發生在ironMQ服務器上,因為它在heroku上提供了一個很酷的插件。
現在懷疑:
但是在圖像調整大小之后,ironMQ會將其推送到S3服務器,還是會在完成該過程后通知它...我不清楚它。
芹菜和海帶/胡蘿卜有什么區別,能否生動地解釋一下。
IronMQ不會為您處理您的任務; 它只是Celery的后端,可以跟蹤需要執行的工作。
所以,這就是發生的事情。 假設您有兩台服務器,即您的Web服務器和Celery服務器。 您的Web服務器負責處理請求,您的Celery服務器會創建縮略圖並將它們上傳到S3。 這是典型的請求:
我寫了一個在Heroku上使用IronMQ的例子。 你可以在這里看到它: http : //iron-celery-demo.herokuapp.com 。 您可以在Github上看到該示例的源代碼並閱讀本教程 ,該教程非常全面地解釋了如何在Heroku上部署Celery。
要清理AMQP的東西:
IronMQ和RabbitMQ / AMQP之間最大的區別之一是IronMQ是托管和管理的,因此您不必自己托管服務器並擔心正常運行時間。 該規范在差異化方面提供了更多,並且存在潛在的差異,但Celery將大部分內容抽象出來。 因為您正在使用Celery,所以您可能會注意到的唯一區別是IronMQ是托管的,因此您無需站起來管理自己的服務器。
完全披露 :我受雇於IronMio背后的公司Iron.io。
“IronMQ和RabbitMQ / AMQP之間最大的區別之一是IronMQ是托管和管理的,因此您不必自己托管服務器並擔心正常運行時間。”
目前至少有兩個托管的RabbitMQ即服務選項:Bigwig和CloudAMQP。 芹菜應該與兩者都很好。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.