mongodb副本集介绍
- MongoDB复制是将数据同步在多个服务器的过程。
复制提供了数据的冗余备份,并在多个服务器上存储数据副本,提高了数据的可用性, 并可以保证数据的安全性。
复制还允许您从硬件故障和服务中断中恢复数据。- 什么是复制
(1)保障数据的安全性
(2)数据高可用性(24*7)
(3)灾难恢复
(4)无需停机维护(如备份/重建索引/压缩)
(5)分布式读取数据- MongoDB副本集(复制)原理
mongodb的复制至少需要两个节点。其中一个是主节点,负责处理客户端请求,其余的都是从节点,负责复制主节点上的数据。 mongodb各个节点常见的搭配方式为:一主一从、一主多从。主节点记录在其上的所有操作oplog,从节点定期轮询主节点获取这些操作,然后对自己的数据副本执行这些操作,从而保证从节点的数据与主节点一致。- 早期版本使用master-slave,一主一从和MySQL类,但slave在此结构中为只读,当主机宕机后,从库不能自动切换为主。
- 目前已经淘汰master-salve模式,改为副本集,这种模式下有一个主(primary)和多个从(secondary)。支持给它们设置权重,当主宕机后,权重最高的从切换为主。
- 在此架构中还可以建立一个仲裁(arbiter