gpt4 book ai didi

.NET:消息队列与直接插入 MongoDB

转载 作者:可可西里 更新时间:2023-11-01 09:13:18 27 4
gpt4 key购买 nike

我有以下用例:Web 应用程序(实际上是客户端的浏览器)定期向 Web 服务器发送跟踪/ping(通过 XHR、JSON)。我将这些轨道存储在具有四属性索引的 MongoDB 集合中。显然这个集合会增长得非常快。

我想到了三个选项:

  1. 只需处理 JSON 消息并插入到 MongoDB 中。

  2. 获取JSON 消息并生成后台任务以插入 MongoDB

  3. 处理 JSON 消息并将消息放入队列(RabbitMQ?!)然后让队列消费者插入到MongoDB中。

哪个在大型互联网规模用例中表现最佳?我认为 2-3) 会有严重的开销,因此在开发模式下会变慢,但我无法预测 2-3) 是否真的会更好地扩展。由于会有很多行并且有一个巨大的索引,我会说如果达到某个限制,插入到 MOngoDB 集合中将会非常慢。

背景信息:保证每条消息/跟踪的处理并不重要,如果服务器出现故障,数据丢失也没关系。

最佳答案

我的意见 - 选择 #1。单例插入 MongoDB 的速度非常快。不需要队列或后端进程。此外,基于您缺乏严格的数据持久性,如果您的 MongoDB 在副本集中,您也可以在不打开 SafeMode 的情况下进行连接,以将开销保持在最低水平。

一些背景阅读 - Boxed Ice 的员工甚至 replaced their RabbitMQ implementation与 MongoDB。

关于.NET:消息队列与直接插入 MongoDB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9994743/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com