+
95
-

mongodb有没有消息队列?

mongodb有没有消息队列?mongodb怎么实现一个消息队列,消息订阅发布

网友回复

+
15
-

MongoDB 有一个叫 Tailable Cursors的特性,它类似于tail -f 命令,你在一个Capped Collection上面执行查询操作,当操作完成后,你可以不关闭返回的数据Cursor,并持续地从中读出新加入的数据。

这个特性可以用来干什么?我觉得最直接的一个用途就是用作消息队列了,利用此特性加上MongoDB 天然的Replication 机制,做一个分布式的队列系统貌似不是什么难事。

Capped collections

Capped collections 就是固定大小的collection。 它有很高的性能以及队列过期的特性(过期按照插入的顺序)。 有点和 "RRD" 概念类似。

Tailable Cursor

通常, mongoDB在遍历完所有结果集中的数据后,会自动关闭游标。

但是, 对于Capped collections, 在遍历完所有数据后,游标一直保持打开状态。当客户端再次向Capped collections插入数据时,Tailable Cursor将继续得到数据。

Tailable Cursor在概念上,类似于Unix的tail命令的-f选项,即一种‘follo...

点击查看剩余70%

我知道答案,我要回答