69

職場では、電子メールの送信、PDF の作成、一部のデータの処理などのためにジョブ サーバーを構築する必要があります。明らかに、ある種の汎用キュー システムを構築したいと考えています。私は Gearman に精通しており、それがまさに解決しようとしている問題であることを知っています。それは、労働者が仕事を取りに来るキューに仕事を入れることです。ただし、Rabbitmq について多くの言及があり、このシナリオでどのように使用されているかは不明です。

Rabbitmq は分散ジョブ システムを構築するための優れたフレームワークですか?

4

2 に答える 2

71

Gearman は「ジョブ」のキューイングに優れており、RabbitMQ は「データ」のキューイングに優れていると言えます。もちろん、どちらも実際には同じものですが、作業を「ファンアウト」しようとしており、ワーカーが独立して作業できる場合、Gearman がそれを行うためのより良い方法です。 . しかし、多くのソースから少数のデータ コンシューマーにデータをフィードしようとしている場合は、RabbitMQ が優れたソリューションです。

RabbitMQ の歴史は、Twitter が大量のメッセージを大量に受け取り、それらを 1 つの接続しか開いたままにできず、レートが制限され、再試行を行わない古い SMS ゲートウェイに送り込むことを可能にしたものとして、 RabbitMQ は解決が得意です。

于 2010-02-18T01:13:03.923 に答える
31

それはすべて、公開したいセマンティクスに依存します。Gearman が RabbitMQ の上で行うことは非常に簡単で、独立したワーカーにメッセージを確実に「ファンアウト」できます。

しかし、Gearman は目的のために作られています。IIUC、Gearman はジョブを処理するためのフレームワークであり、メッセージング システム自体ではありません。そのために内部でRabbitMQを使用するCeleryなどの他のフレームワークがあります。これは、読む価値のあるセロリに関する記事です。

于 2010-02-18T07:29:09.230 に答える