当需要的数据在MongoDB slave中时,如何使用ActiveMQ消息?

时间:2012-01-14 11:09:08

标签: perl mongodb activemq

这更像是一个软件架构问题。

假设我将一些数据放入MongoDB数据库并发送ActiveMQ消息。消息的使用者取决于MongoDB中存在的数据,但是如果出于可伸缩性原因,消费者使用MongoDB数据库的从属设备,我如何才能确保只有当数据在副本中时才会使用该消息?

我使用perl作为我的编程语言,所以我希望任何可能的解决方案都是高级别的,而不是像java代码那样。

2 个答案:

答案 0 :(得分:2)

由于ActiveMQ和MongoDB复制之间没有集成,因此仅限于此:

  1. 查看队列中的消息。

  2. 验证从站上是否存在所需数据。

  3. 如果有,请消费。否则,请继续阅读下一条消息。

答案 1 :(得分:0)

作为塞尔吉奥回答的替代方案:

  1. 从队列中获取消息(pop)

  2. 验证从站上是否存在所需数据。

  3. 如果有,请消费。否则,重新入队。