書き込み要求の約 50% で、最終的に複数のデータ ストアにデータをプッシュし、それらのデータ ストアに多数のレコードを挿入および更新する Web アプリケーションを開発しています。応答時間を改善するために、このようなリクエストをバックグラウンドで非同期に処理したいと考えています。
私たちの Web アプリケーションは Ruby on Rails で書かれています。
私が傾倒している 2 つのソリューションは、Resque と Gearman です。
Resque: 詳細はこちら: http://github.com/blog/542-introducing-resque Resque は Ruby に非常に適しているようで、特にバックグラウンド ジョブ処理に適しています。「バックグラウンド ジョブは、実行に応答する任意の Ruby クラスまたはモジュールにすることができます。既存のクラスをバックグラウンド ジョブに簡単に変換したり、特に作業を行うための新しいクラスを作成したりできます。」
Gearman: 非同期処理のバックグラウンド ジョブ専用というわけではありませんが、それは間違いなくできることです。どうやらより堅牢なようです。Gearman のもう 1 つの利点は、クライアント コードが Ruby で記述されていても、ワーカー コードが PHP で記述されている可能性があることです。現時点では完全に Ruby on Rails アプリですが、将来、当面の仕事に応じて PHP やその他の何かを使用する可能性があるかどうかはわかりません。
あなたは何をお勧めします?どちらかの経験はありますか?2 つのうちどちらかを選択する際に、実際の制作上のどのような課題に留意する必要がありますか? そして、ここでリンゴとリンゴを比較していますか?