2012-01-14 11 views
0

これは、ソフトウェアアーキテクチャに関するさらに多くの質問です。必要なデータがMongoDBスレーブにある場合、ActiveMQメッセージをどのように消費できますか?

私はいくつかのデータをMongoDBデータベースに入れ、ActiveMQメッセージを送信します。メッセージの消費者はMongoDBに存在するデータに依存しますが、スケーラビリティ上の理由から消費者がMongoDBデータベースのスレーブを使用する場合、メッセージがレプリカ内にあるときにのみメッセージが消費されることをどのように確認できますか?

私はプログラミング言語としてperlを使用しています。そのため、潜在的な解決策は、例のJavaコードの代わりに高レベルにすることをお勧めします。

+0

データがレプリカにいつ届くのですか? – Mat

+0

これは仮説的な質問ではありません。潜在性や潜在的な完全性の問題のために私たちが確信しているとは思わないでしょう。 – cubabit

答えて

2

のActiveMQやMongoDBのレプリケーションの間には、統合はありませんとして、あなたはこれに限定されています

  1. は、キューからメッセージを覗きます。

  2. 必要なデータがスレーブに存在することを確認します。

  3. 存在する場合、消費する。それ以外の場合は、次のメッセージに進みます。

0

セルジオの答えに代わるものとして:

  1. (POP)、キューからのメッセージを取る

  2. それが必要とするデータがスレーブに存在することを確認します。

  3. 存在する場合、消費する。それ以外の場合は、メッセージを再エンキューします。

関連する問題