1. 程式人生 > >celery 分散式框架詳解

celery 分散式框架詳解

Celery 結構圖

如果沒有celery,讓你自己設計一個非同步任務佇列你怎麼做。

首先,要有一個發起任務的client,選定一定儲存任務資訊的媒介,由一個worker去一直監聽這個資訊媒介,這個worker最好是多程序的,另外可以相容儘可能多得資訊媒介。好吧,這個不就是celery所做的事兒麼,celery相容多個broker,既是任務發起者又是執行者,另外支援多程序…還有好多通用功能考慮。

celery+rabbitmq的簡單結構圖:

這裡寫圖片描述

celery+rabbitmq的整個工作流程圖

這裡寫圖片描述

Celery 分散式的幾種可能情況部署

例如,producer、broker、consumer之間的網路拓撲關係,如下圖所示
這裡寫圖片描述