这更像是一个软件架构问题。
假设我将一些数据放入MongoDB数据库并发送ActiveMQ消息。消息的使用者取决于MongoDB中存在的数据,但是如果出于可伸缩性原因,消费者使用MongoDB数据库的从属设备,我如何才能确保只有当数据在副本中时才会使用该消息?
我使用perl作为我的编程语言,所以我希望任何可能的解决方案都是高级别的,而不是像java代码那样。
答案 0 :(得分:2)
由于ActiveMQ和MongoDB复制之间没有集成,因此仅限于此:
查看队列中的消息。
验证从站上是否存在所需数据。
如果有,请消费。否则,请继续阅读下一条消息。
答案 1 :(得分:0)
作为塞尔吉奥回答的替代方案:
从队列中获取消息(pop)
验证从站上是否存在所需数据。
如果有,请消费。否则,重新入队。