MongoDB可用于实时消息传递,方法是使用tailable游标来拖尾上限。
为此目的使用MongoDB有什么注意事项?一个显而易见的问题是没有内存中的集合,因此当不需要持久性时,可以将消息写入磁盘。
答案 0 :(得分:1)
有一点需要注意,如果你有一个副本集,只有一台Mongo机器可以接受写入。这将限制您可以为队列执行的写入次数。
另一个明显的警告是,使用上限集合,您显然必须在消息开始退出集合之前阅读/使用消息。如果消费者失败了 - 你没有足够快地抓住它 - 你就会失去信息。
我对你的最后一句感到困惑。 =(我相信你知道Mongo会尽力把所有内容保存在RAM中。http://docs.mongodb.org/manual/core/capped-collections/他们没有提到加盖的集合不会在RAM中(除非你的工作集太大而不能用于RAM)。