我有一个应用程序,我的任务是设计一个 mongo 支持的数据存储。
应用程序的目标是以最快的加载时间提供最新的数据(没有陈旧的数据)。
数据大小约为数百万,应用程序写入繁重。
在选择给定 3 节点副本集(1 个主要副本、1 个辅助节点、1 个仲裁者)的读取策略时,我遇到了两种不同的策略来确定从何处获取读取 -
从次级读取以减少初级负载。使用
writeConcern = REPLICA_SAFE
,从而确保在主服务器和辅助服务器上完成写入。设置阅读偏好。到secondaryPreferred
.始终从主要读取。但在读取之前确保数据是主要的。所以设置
writeConcern= SAFE
。读取首选项是默认值 -primaryPreferred
。
在选择其中一个选项之前要考虑哪些事项。