セロリのアプリケーションと回路図のRabbitMQ

1、RabbitMQの((メッセージキューツールは、セロリでブローカーの役割を果たし、メッセージ・ブローカー)は薬剤である、またはメッセージ指向ミドルウェアと呼ばれます

2、セロリ(非同期タスクのスケジューリングツール)
     

      簡単に言えば、RabbitMQのはErlangで書かれたツールを使用して、強力なメッセージ・キューです。セロリでブローカーの役割を果たすことができます。だから、ブローカーは何ですか?

      ブローカミドルウェアメッセージ送信は、メールボックスとして理解することができます。アプリケーションはセロリ非同期タスクを呼び出すたびに、それはその後、セロリの労働者は、メッセージに実行するためのプログラムを取る、ブローカーにメッセージを配信します。さて、このメールボックスは、メッセージキューとして見ることができます。バックエンドで、メッセージは通常、最後に終了したプログラムによって送信されたものを受け取ったときに、あなたはお互いを知らないかもしれません。この目的のために、メッセージとメッセージの数と実行セロリの結果を格納するため、バックエンドを達成セロリ。ブローカーは、公式の推薦は、バックエンドとしては、それがデータベースであり、RabbitMQのとRedisのです。簡単にするために、我々はRedisのを使用しています。

(1)セロリアーキテクチャ

 

 

セロリビート:タスクスケジューラは、ビートプロセスは、設定ファイルの内容を読み取り、そして定期的に構成タスクがタスクキューのために実行する必要が送信されます。
セロリの労働者:消費者がタスクを実行するには、通常、効率を改善するために複数のサーバーに複数の消費者を実行します。
ブローカー:メッセージブローカーは、メッセージングミドルウェアは、あるいは生産者から送られたタスクのタスクのメッセージを受け入れるように、と呼ばれ、その後、キュー順次分散タスク消費者(通常、データベースまたはメッセージキュー)内に堆積
プロデューサー:APIセロリ提供される関数を呼び出しますまたはデコレータタスクキュー上で生産され、手渡し処理するタスクは、タスクの生産者です。
結果バックエンド:タスクは、クエリの状態情報および結果の保存配られました。セロリのデフォルトはRedisの、RabbitMQの、MongoDBは、DjangoのORMなどをサポートしてきました


(2)celery使用场景:

web应用。当用户触发的一个操作需要较长时间才能执行完成时,可以把它作为任务交给celery去异步执行,执行完成后再返回给用户。
定时任务。生产环境经常会有一些定时任务。
其他可以异步执行的任务。比如发送消息/ 邮件、推送消息、清理/设置缓存等。

おすすめ

転載: www.cnblogs.com/s686zhou/p/12105270.html
おすすめ