如何同时更新多个MongoDB服务器-直接模式或副本集

本文关键字:直接模式 副本 服务器 MongoDB 何同时 更新 | 更新日期: 2023-09-27 18:13:23


我对使用MongoDB作为缓存服务器很感兴趣。我对Mongo还比较陌生,所以请耐心等待
我应该执行的任务之一如下:
从数据库中检索记录并更新2台MongoDB服务器。此任务只写入Mongo服务器,不执行"读取"操作。该任务应该每250毫秒运行一次,并且要更新的文档数量在0到180条记录之间(相对较小的记录-每条记录都是一个文档(

我想知道如何使用代码中的一个更新来执行此任务?(我不想在服务器上循环并对每个服务器执行更新(

需要提及的一点是:应该在每台机器上本地读取mongo服务器中的数据,以获得尽可能小的延迟。

我应该创建一个复制集吗如果是,副本集是否会反映每个服务器中频率为250毫秒的最新数据

或者我应该像mongodb://server1,server2/?connect=direct一样直接连接到它们,然后在代码中执行一次更新,该更新将转换为两次更新-每个服务器一次?

如何同时更新多个MongoDB服务器-直接模式或副本集

内联回复。。

我想知道如何使用代码中的一个更新来执行此任务?(我不想在服务器上循环并为每个服务器执行更新(

您可以执行大容量插入或多重更新。但在mongod服务器端,它们将按顺序应用。

我应该创建一个复制副本集吗?如果是的话,副本集是否会反映每个服务器中频率为250ms的最新数据?

您不能确保在250毫秒内将所有内容都复制到辅助卷。但是,默认情况下,所有读取都会转到主卷(副本集(,因此您可以获得最新的数据。

或者我应该像这样直接连接到他们mongodb://server1,服务器2/?connect=direct,然后在代码中执行一次更新,该更新将被转换为两次更新-每个服务器一次?

你只需要这样连接'mongodb://server1,服务器2?。。选项"。更新仅转到主服务器,而此更新是由辅助服务器从主服务器中提取的。