• MongoDB的读写分离


    在副本集Replica Set中才涉及到ReadPreference的设置,默认情况下,读写都是分发都Primary节点执行,但是对于写少读多的情况,我们希望进行读写分离来分摊压力,所以希望使用Secondary节点来进行读取,Primary只承担写的责任(实际上写只能分发到Primary节点,不可修改).

    MongoDB有5种ReadPreference模式:

    模式 描述
    primary 主节点,默认模式,读操作只在主节点,如果主节点不可用,报错或者抛出异常.
    primaryPreferred 首选主节点,大多情况下读操作在主节点,如果主节点不可用,如故障转移,读操作在从节点.
    secondary 从节点,读操作只在从节点, 如果从节点不可用,报错或者抛出异常.
    secondaryPreferred 首选从节点,大多情况下读操作在从节点,特殊情况(如单主节点架构)读操作在主节点.
    nearest 最邻近节点,读操作在最邻近的成员,可能是主节点或者从节点.
    • Mongo的读写分离非常的简单,只需要在连接字符串中添加如下内容即可
    mongodb://ip1:27017,ip2:27017,ip3:27017/?readPreference=SecondaryPreferred
    
    • /?readPreference=SecondaryPreferred

    • 其他的模式,替换readPreference后边的值就行.

    • Mongo建议副本集中的机器数量为奇数,即至少需要3台实例

    • 若是MongoDB做分片集群的模式的话,其实也相当于也通过集群的方式实现了分库分表.

  • 相关阅读:
    PostProcessor
    Headler
    HttpSession
    文件锁FileLock
    MappedByteBuffer
    RandomAccessFile
    setInterval和setTimeout的缺陷和优势分析
    CSS背景图片自适应 根据浏览器分辨率大小自动伸缩
    JS中的call()方法和apply()方法用法总结,以及方法体中this的定义
    Window及document对象
  • 原文地址:https://www.cnblogs.com/dygood/p/16371532.html
Copyright © 2020-2023  润新知