MongoDB 关注强一致性
MongoDB write concern for strong consistent
我有 Java 个进程来更新 MongoDB 3.6.0。我有 1 个主副本,2 个副本。流量是
更新具有特定“_id”的文档中的一些数据
从副本读取
有时,read 获取较旧版本的 document.We 决定使用 WriteConcern 来解决此问题 -
WriteConcern(WriteConcern.W3.withWTimeout(100, TimeUnit.MILLISECONDS).withJournal(false));
随着 WriteConcern 的引入,会有一些延迟,为了避免过多的延迟,我跳过了更新 Journal 日志
上面的配置行得通吗?
这是写作过程的高级视图:
- 数据写入快照,
- 从快照到日志~0.1s
- 从快照到磁盘1秒
如果您设置 writeConcern = 3,并且一台服务器出现故障,用户将永远不会收到确认。
此外,禁用日记不会加快复制速度。我建议使用 writeConcern majority,并保留日志。但是,如果您更愿意禁用日记功能,那么唯一的问题就是在 3.
中的 1 之间写入的数据
我有 Java 个进程来更新 MongoDB 3.6.0。我有 1 个主副本,2 个副本。流量是
更新具有特定“_id”的文档中的一些数据
从副本读取
有时,read 获取较旧版本的 document.We 决定使用 WriteConcern 来解决此问题 -
WriteConcern(WriteConcern.W3.withWTimeout(100, TimeUnit.MILLISECONDS).withJournal(false));
随着 WriteConcern 的引入,会有一些延迟,为了避免过多的延迟,我跳过了更新 Journal 日志
上面的配置行得通吗?
这是写作过程的高级视图:
- 数据写入快照,
- 从快照到日志~0.1s
- 从快照到磁盘1秒
如果您设置 writeConcern = 3,并且一台服务器出现故障,用户将永远不会收到确认。
此外,禁用日记不会加快复制速度。我建议使用 writeConcern majority,并保留日志。但是,如果您更愿意禁用日记功能,那么唯一的问题就是在 3.
中的 1 之间写入的数据