先上一张准备测试的MongoDB设计图:
这里使用replication set来避免单节点数据的丢失。
测试情况如下:
在228服务器上插入 1000W条数据 。在插入完成后先断掉 162 服务器,然后迅速在mongos那里执行
可见抛出一个异常,再执行下 db.users.count()
` db.users.count()
10000000 `
发现正常了,163变成Primary 。然后继续执行插入 10000W数据,在插入过程中断再断掉 163 服务器
插入正常进行中,插入完后 对比了下 164的服务器数据 + 连接上162服务器上的数据 正好等于2000W。
把 162, 163两个服务器再连接上后,数据不停变化,这时正在进行负载平衡.
附:若机房出现瞬间停电,那么数据还是会出现问题的,但是这种概率很小。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。