私のようなメッセージブローカーに新しいですRabbitMQの私たちのようなスケジューリングシステムのためのタスク/メッセージ・キューを作成するために使用することができますセロリ。
さて、ここに質問があります:
新しいタスクを追加し、Celeryなどのコンシューマープログラムで使用できるPostgreSQLでテーブルを作成できます。
なぜ、RabbitMQのように、まったく新しいテクノロジーをセットアップしたいのですか?
PostgreSQLのような私たちのデータベースは分散環境で動作することができるので、今、私はスケーリングが答えではないと信じています。
データベースが特定の問題に対してどのような問題を引き起こすかを探してみたところ、次のことがわかりました。
- ポーリングはデータベースをビジー状態に保ち、パフォーマンスを低下させます
- テーブルのロック->再び低パフォーマンス
- 数百万行のタスク->再度、ポーリングのパフォーマンスは低い
では、RabbitMQなどのメッセージブローカーは、これらの問題をどのように解決するのでしょうか。
また、私AMQP
はプロトコルがそれに続くものであることを発見しました。その中で何が素晴らしいのですか?
Redisはメッセージブローカーとしても使用できますか?RabbitMQよりMemcachedに似ています。
これに光を当ててください!
celery
」— 質問から、設計に役立つ何かを学びました。今答えを読む...