第五部分 架构篇 第十三章 MongoDB Replica Sets 架构(成员深入理解)
来源:互联网 发布:windows whistler.img 编辑:程序博客网 时间:2024/06/06 06:54
在学习复制的概念之前,首先接着前面一章节的还有点未完结的内容做个简单的介绍,主要是自动故障转移、异步复制、以及附加功能,这些在此只做简单的介绍,在以后的相关章节中会专门深入学习。
1、自动故障转移
当Primary服务和架构中其他成员中断通信超过10秒,Replica Set将尝试选举其他成员成为一个新的Primary服务,获得多票数的Scondary将成为Primary。
架构如下:
说明:
在一个Replica Set架构中,如果Primary不可达,则会在除Primary之外的其他成员中自动选举一个Scondary来作为新的Primary,使Replica Set保证可用,起到自动故障转移的目的。
2、异步复制
Secondaries从Primary异步应用所有的操作,正在异步应用Primary操作时,集合可能继续工作,但是此时并不会复制数据到其他成员,所以当客户端通过Secondary节点返回数据时可能不是数据集得最新数据。
3、附加功能
Replica Set提供了大量的选项,以便支持应用的需要。比如你可以部署一个多数据中心的Replica Set,或者通过调整成员的优先级去控制选举结果,Replica Set可以支持成员的报表、容灾恢复,或者备份功能。
4、复制概念(本章重点)
该章节主要描述和提供了关于Replica Set的操作、配置、和行为的实例,关于Replica Set的简介,以及文档的管理命令请学习前面相关章节。
4.1、Replica Set Memebers(成员)
MongoDB一个Replica Set是一组mongod进程,提供了冗余和高可用特性,一个Replica Set的成员包括如下:
- Primary:primary接收所有的写操作
- Secondary:从primary复制所有的操作来持有一份相同的数据集,Secondary也许添加一些特殊用途的配置,比如,Secondary没有选举权和优先级设置为0等。
- Replica Set所有成员都可以接收读操作,默认情况下,从primary进行读操作,可以通过配置来更改读操作行为。
- Replica Set有且仅有一个primary成员。如果当前primary成员不可达,会自动选择一个其他成员作为新的primary,来保证整个架构的可用。
- 如阻止一个secondary成员在选举中成为primary,此时只需将该成员的优先级(priority)设置为0即可。
(1)、Replica Set成员优先级0介绍
<span style="white-space:pre"></span> cfg = rs.conf()该方法会返回一个Replica Set架构包含所有成员配置的文档。
<span style="white-space:pre"></span> cfg.members[2].priority = 0该配置只有当重新配置replica set之后才能生效。
<span style="white-space:pre"></span> rs.reconfig(cfg)
- 如阻止一个应用通过secondary进行读操作,此时只需要将该成员在Replica Set架构中隐藏即可。
- 如通过运行一个历史快照来从一个确认的错误中恢复,如无意中删除数据库。
- 第五部分 架构篇 第十三章 MongoDB Replica Sets 架构(成员深入理解)
- 第五部分 架构篇 第十二章 MongoDB Replica Sets 架构(简介)
- 第五部分 架构篇 第十五章 MongoDB Replica Sets 架构(动态增加删除结点)
- 第五部分 架构篇 第十四章 MongoDB Replica Sets 架构(自动故障转移/读写分离实践)
- 第五部分 架构篇 第十六章 MongoDB Sharding 架构(理解分片)
- 第五部分 架构篇 第十七章 MongoDB Sharding 架构(理解块)
- 第六章:架构篇 Replica Sets复制集的搭建
- Foursquare:使用MongoDB Replica Sets的三种架构
- Mongodb Replica Sets + Sharding 分片集群架构部署
- Mongodb Replica Sets 副本集架构实战 --个人记录
- 第五部分 架构篇 第十八章 MongoDB Sharding 架构(平衡)
- 第五部分 架构篇 第十九章 MongoDB Sharding 架构( mongos)
- 第五部分 架构篇 第二十章 MongoDB Sharding 架构( 片键选择)
- 第五部分 架构篇 第二十一章 MongoDB Sharding 架构(实践)
- MongoDB Replica Sets 架构(自动故障转移/读写分离实践)
- MongoDB架构篇-Replica Set 副本集
- Replica sets架构复制集(一)
- Replica sets架构复制集(2)详解
- Android Bundle类
- golang错误link reading body gob: attempt to decode into a non-pointer
- ubuntu pdf转jpg或txt
- pat,c/c++程序小例子
- sql 优化杂谈
- 第五部分 架构篇 第十三章 MongoDB Replica Sets 架构(成员深入理解)
- qt 系统热键 直接调用 win32 API c++ 代码
- 汇编学习记录01
- VirtualBox 使用原硬盘上的操作系统(Win7)
- Android中软键盘弹出时关于布局的问题
- 关于最大素数
- iOS国际化遇到的问题
- Android开发一:Activity之间跳转的四种launchMode
- NSNotificationCenter用法总结