MongoDB ReadPreference读偏好
在副本集 Replica Set
中才涉及到 ReadPreference
的设置,默认情况下,读写都是分发都 Primary
节点执行,但是对于写少读多的情况,我们希望进行读写分离来分摊压力,所以希望使用 Secondary
节点来进行读取,Primary
只承担写的责任(实际上写只能分发到 Primary
节点,不可修改)。
mongo uri示例:
1 | mongodb://localhost:27017/test-db?authSource=test-db&readPreference=secondaryPreferred |
MongoDB有5种ReadPreference模式:
primary
主节点,默认模式,读操作只在主节点,如果主节点不可用,报错或者抛出异常。
primaryPreferred
首选主节点,大多情况下读操作在主节点,如果主节点不可用,如故障转移,读操作在从节点。
secondary
从节点,读操作只在从节点, 如果从节点不可用,报错或者抛出异常。
secondaryPreferred
首选从节点,大多情况下读操作在从节点,特殊情况(如单主节点架构)读操作在主节点。
nearest
最邻近节点,读操作在最邻近的成员,可能是主节点或者从节点。
参考文章:
参考链接
- 本文标题:MongoDB ReadPreference读偏好
- 本文作者:akiya
- 本文链接:https://little-star.love/posts/97435ac2/
- 版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!