我是dotcloud的新手,對多種服務如何協同工作感到困惑。Dotcloud多項服務
我YAML構建文件:
www:
type: python
db:
type: postgresql
worker:
type: python-worker
broker:
type: rabbitmq
而且我supervisord文件中包含的命令來啓動Django的芹菜& celerycam。
當我將我的代碼推送到我的應用程序時,我可以看到,工作服務都啓動了自己的celery實例,並且例如日誌文件也會有所不同。這是有道理的(儘管在IMO的dotcloud文檔中沒有說得很清楚 - 文檔中提到了設置一個工作服務,但沒有說明如何將它與其他服務結合起來),但是會引發如何配置應用程序的問題python服務主要爲網頁提供服務,而Python工作服務則用於後臺任務,例如:芹菜。
的dotcloud documentation daemon使得這提到:
「不過,你應該知道,當你擴展你的應用程序, 的後臺任務將在所有縮放情況安排 - 這是 可能不是你需要的!所以,在許多情況下,它仍然會更好 使用一個單獨的服務。
同樣,大量的(非職工)服務已經運行主管,所以 你可以在這些服務運行其他後臺作業。然後再次, 請記住,如果您擴展應用程序的 ,那些後臺作業將在多個實例中運行。此外,如果添加背景作業 您的Web服務,它會得到更少的資源來服務頁面,你的 性能將採取顯著的打擊。」
如何配置dotcloud &您的應用程序只運行在一個服務的網絡服務器,並在工作人員的服務後臺任務?你會通過提高芹菜的併發設置(和垂直縮放的一個服務),通過增加額外的工作人員服務,或兩者規模工?
你會怎麼做這樣,首先web服務器服務不必在處理後臺任務時使用資源,其次可以擴展工作者服務獨立於網絡服務器?