• 为什么要用MongoDB副本集


    MongoDB的副本集,相对单节点的MongoDB,提供了可用性、安全性、读写性能提升、实现事务等几大特性。

    1. 可用性
      启用副本集,通常最少需要三个成员节点,最多可支持50个成员节点,其中最多可设置7个拥有主节点选举权的成员节点,运行时有且只有一个节点为主节点,当主节点(primary)不可用时,副本集根据预设的权值(priority)选出新的主节点。这种机制使得副本集,相对单节点应用,具有更高可用性。
    2. 安全性
      oplog(操作日志)是一个主节点存储写操作的集合(collection),所有从节点(secondary)拥有一个oplog的副本。
      副本集由主节点接收写操作指令,当主节点按照写操作指令写入数据后,会将该次操作记录到oplog,然后从节点将该次操作复制到自己的oplog副本中。副本集以此保证所有节点数据的一致性。同时也保证了数据的安全性,不会因为单个节点的问题造成数据的丢失。
    3. 读写性能提升
      默认配置下,副本集读写数据均由主节点处理。实操中,可以通过更改配置,将读操作任务分配到从节点,从而分散主节点压力,进而提升整个副本集读写性能。
    4. 实现事务
      从4.0版本开始,MongoDB开始支持副本集下的事务,也就是说,副本集是MongoDB实现事务的前提之一(4.2版本后,MongoDB开始支持分片下的事务)。
    查资料不过是偏门,撸源码才是脱离苦海的正道。
  • 相关阅读:
    常见时间复杂度及对应关系
    【转载】Locust实现集合点
    curl 查看接口的网络分段响应时间
    python-字符串操作分类小结
    Jquery--1--选择器分类
    【转】linux shell编程实例总结
    随笔分类整理
    linux备忘录-日志档案
    linux备忘录-系统服务daemon
    linux备忘录-程序管理与SELinux
  • 原文地址:https://www.cnblogs.com/jarvisjin/p/12575289.html
Copyright © 2020-2023  润新知