【问题标题】:Click counter implementation with MongoDB - asynchronous write使用 MongoDB 实现点击计数器 - 异步写入
【发布时间】:2013-05-20 20:45:47
【问题描述】:

我想使用 MongoDB 实现一个点击计数器(例如,用户点击一个链接,计算总点击次数)。

我直观的方法是拥有一个内存中的低优先级线程池,它将处理点击消息的阻塞队列并在后台将其异步持久化到 MongoDB。

所以我的问题是 - MongoDB 的原生 Java 驱动程序是否有一些异步功能可以做到这一点?

如果没有,是否有替代的 Mongo 驱动程序可能比滚动我自己的异步代码更有优势?

【问题讨论】:

    标签: mongodb mongodb-java


    【解决方案1】:

    好吧,不是真正的异步,但如果您使用 NONE 的 WriteConcern,它有点异步,因为您只会将数据放入套接字的缓冲区,然后插入返回。不利的一面是您不知道插入是否有效。面对失败,您可以默默地放弃大量点击。

    有一个Asynchronous Java Driver 允许您使用期货或回调来获取插入的结果。采用这种方法应该不需要滚动您自己的队列或拥有后台线程(驱动程序有自己的接收线程)。

    HTH - 抢劫。

    附:全面披露 - 我从事异步 Java 驱动程序。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-09-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-27
      • 1970-01-01
      • 2018-06-04
      相关资源
      最近更新 更多