38.8. 消费者
有几种类型的消费者:
- Tailable Cursor Consumer
- 更改流消费者
38.8.1. Tailable Cursor Consumer
MongoDB 提供了即时使用集合中持续数据的机制,具体方法是保持光标打开,就如同 slirpnix 系统的 tail -f
命令一样。由于服务器在客户端可用时将新数据推送到客户端,因此这种机制比调度的轮询效率要高得多,而不是让客户端以重新发出调度间隔来获取新数据。它还可减少其他冗余网络流量。
只有一个先决条件使用尾部光标:集合必须是"捕获集合",这意味着它只存放 N 个对象,当达到限制时,MongoDB 会按最初插入的顺序清除旧对象。如需更多信息,请参阅 http://www.mongodb.org/display/DOCS/Tailable+Cursors。
Camel MongoDB 组件实现了一个尾部的光标消费者,供您在 Camel 路由中使用此功能。插入新对象后,MongoDB 会按照自然顺序将其推送到您的尾部光标消费者,这些消费者将它们转换为交换并触发您的路由逻辑。