MongoDB 权威指南(复制) -- 读书笔记

  • 复制可以将数据副本保存到多台服务器上,当一台或多台服务器出错,也可以保证应用程序正常运行
  • 副本集是一组服务器,其中一个主服务器,用于处理客户端请求;还有多个备份服务器,用于保存主服务器的数据副本。如果主服务器崩溃,备份服务器会自动将其中一个成员升级为主服务器
  • 备份节点可能会落后于主节点,所以备份节点在默认情况下会拒绝读取请求,以防止应用程序拿到过期的数据,如果备份节点查询会报错:"not master and slaveOk=false",使用rs.slaveOk() 设置备份节点可以读取数据标识
  • 备份节点只通过复制功能写入数据,不接受客户端的写入请求
  • 重新配置副本集时,作为重新配置过程的最后一步,主节点会关闭所有连接,因此shell中的连接会短暂断开,然后重新自动建立连接
  • 大多数: 选择主节点时需要由大多数决定,写操作被复制到多数成员时这个写操作就是安全的,当副本集中只有少数成员可用,所有成员都会变成备份节点
  • 选举机制:当一个备份节点无法与主节点连通时,他就会联系并请求其他的副本集成员将自己选举成为主节点。其他成员会做几项检查:自身是否能够与主节点联通?希望被选举成为主节点的备份节点数据是否最新?有没有其他优先级更高的成员可以被选举成为主节点,如果要求被选举的成员能够得到集群中大多数的成员投票,它就会成为主节点。一张否决票相当于10000张赞成票
  • mongodb 支持一种特殊类型的成员,成为仲裁者。唯一的作用是参与选举,仲裁者作为轻量级进程,可运行在配置比较差的服务器上。
  • 如果可能 在副本集中使用奇数个数数据节点,而不要使用仲裁者
  • 隐藏成员 客户端不会向隐藏成员发送请求。
  • 延迟备份节点 数据会比主节点延迟指定时间(单位是秒)延迟节点应该也被设置为隐藏节点
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。