主要なWebアプリケーション(AmazonのEC2クラウド、x-largeインスタンス)のバックエンドフレームワークの今後の再設計のために、(Java)メッセージングおよびキューイングシステムのトレードスタディを実行しています。現在、ActiveMQとRabbitMQを評価しています。
計画では、5つの異なるキューがあり、そのうちの1つはデッドレターキューです。1日に送信されるメッセージの数は、40Kから400Kの間のどこかになります。メッセージの内容をデータストア上のXMLファイルの場所へのポインターにすることを計画しているので、メッセージは約64バイトになると思います。ただし、評価のために、平均ファイルサイズが3KBの生のXMLをメッセージで送信することも検討したいと思います。
私の主な質問:毎日いつ/いくつのメッセージを保持する必要がありますか?上記で指定した量を考慮して、すべてのメッセージを保持することは合理的ですか?永続化すると、おそらく大幅にパフォーマンスが低下することを私は知っています。しかし、永続化しないことにより、多くのRAMが使用されています。あなたの何人かは何をお勧めしますか?
また、ActiveMQ(JMS)とRabbitMQ(AMQP)に関してオンラインで多くの情報があることも知っています。私はたくさんの研究とテストをしました。どちらの実装も私のニーズに合うようです。上記で提供した情報(ファイルサイズとメッセージ数)を考慮して、私が見逃した可能性のある特定のベンダーを使用する理由を誰かが指摘できますか?
ありがとう!