注意: 默认从库是不能读取,需要设置 SlaveOk 的状态:
缺点: 当主库挂了,需要手动切换到从库
2. 一主二从 docker-compose.yml设置: 安排 rs1 进主节点,rs2、rs3 进从节点。
测试: 强行停止主库 rs1,检查从库是否能分配并切换到主库 ,在继续强行停止分配后的主库 rs2
结论:
当主节点 rs1 挂了,会有从节点过来替代原有主库的位置,但是当仅剩最后一个从库时,无法切换为主库。
当主节点 rs1 重新启动恢复后,只会立马变为从库,不再是主库。除非等到现在的主库挂了,才有可能重新回到主库的位置。
问题: 当主节点 rs1 挂了,会有从节点过来替代原有主库的位置,但是具体是哪一个从库没有办法控制。所以我们需要添加一个冲裁 来解决这个问题。
3. 一主一从一仲裁 docker-compose.yml配置:
注意: 当存在 arbiter节点 (只是仲裁,并不存储数据)
到此这篇关于MongoDB高效读写海量数据的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持七叶笔记。