我有以下用例: web应用程序(实际上是客户端浏览器)定期将trackings /ping发送到web服务器(通过XHR,JSON)。我用四个属性索引将这些轨迹存储在一个MongoDB集合中。显然,这个收藏将增长很快。
我有三个选择:
在大规模的互联网用例中,哪一种表现最好?我认为2-3)将有一个严重的开销,因此在开发模式下会变慢,但我无法预测2-3)是否真的会更好地扩展。由于会有很多行,而且有一个巨大的索引,所以如果达到一定的限制,我会说插入到MOngoDB集合中会非常缓慢。
背景信息:保证处理每条消息/跟踪并不重要,如果服务器关机,数据丢失也是正常的。
发布于 2012-04-03 15:43:57
我的看法是-与#1。单例插入到MongoDB是非常快的。不需要队列或后端进程。此外,基于缺乏严格的数据持久性,如果您的MongoDB位于一个副本集中,您也可以在不打开SafeMode的情况下进行连接,以将开销保持在最低限度。
一些背景阅读-在盒式冰的人,甚至替换了它们的RabbitMQ实现与MongoDB。
发布于 2012-05-06 12:09:32
从我的观点来看,如果您的应用程序将承受很高的开销,并且需要进行扩展,我将选择选项3,它具有以下优点:
当然,这种方法增加了开发的复杂性,因为需要更多的控制(错误处理等)。
https://stackoverflow.com/questions/9994743
复制相似问题