node.js - 为什么Mongo会从Secondary读取并将读取关注设置为Primary
问题描述
我有一个作为 PSS 架构的 mongo 设置,1 连接字符串看起来像 mongodb://mongo1,mongo2,mongo3/db1?replicaSet=rs 。
我的一个应用程序(nodejs)每隔一段时间就会尝试读取并得到一个not master and slaveOk=false
错误。考虑到默认的读取问题,我希望 this 只能从主要读取。
问题:为什么驱动程序会将读取定向到辅助设备?
解决方案
好吧 - 得到一个 - not master and slaveOk=false 错误 - 当设置为读取主要时 - 将是当主要不可用时正确发生的情况。所以也许你真正的问题是为什么主要不可用?…..明白了吗?...在副本集中应该总是有主节点,但谁知道 - 在故障转移期间发生选举时必须有一个短暂的时刻......您可能需要检查日志以查看主节点关闭的频率...... ..现在,如果您不想出现此错误,请将读取首选项更改为 Primary Preferred。
推荐阅读
- php - 如何在包含 1-5 的两个下拉菜单之间进行加法?
- wamp - WAMP 3.1.7 x64 我的网页可从世界任何地方访问
- java - 为什么时区模式“OOOO”不显示完整的 GMT+00:00 偏移格式?
- ansible - Ansible:试图解析 Loopback0 IP 地址
- reactjs - 常见的违反 DRY 原则的 React Native/Redux
- javascript - form_with 不作为 AJAX 提交
- python - 在新列中添加唯一标识符,直到在另一列上满足条件
- python - Python 3 写入 json 文件时出现双反斜杠问题
- python - 一种具有可变长度输入的热编码
- azure - 启用 Windows 安全事件的 Azure 安全中心 ARM 模板