mongodb 构建 replset 实现高可用

上周遇到了digital ocean服务器厂商主机崩溃的事情。当时我只是单点部署了mongodb,数据全在美国服务器。这下直接导致数据库不能用,如果主机就此起不来或者是其它原因导致数据丢失的话,哭也来不及了。
为了防止下次遇到类似的事情,决定为数据库部署一个副本集架构(replica set)

#####有以下三种部署的方式可以做数据备份的功能:
1.主从模式
2.副本集模式
3.数据分片模式
这篇博文,讲得很详细,值得精雕细琢。
这篇稍微简单些,但大致也概括的主要的想法

考虑到我的业务暂时还没有必要做数据分片,核心诉求只是数据备份,故采用第二种方式部署。

1
2
3
mongod --replSet buckoo --dbpath=/data/buckoodb/data/ --logpath=/data/buckoodb/data/log --logappend --port 9934 --fork --rest

mongod --replSet buckoo --dbpath=/data/buckoodb/arbitry/ --logpath=/data/buckoodb/arbitry/log --logappend --port 9935 --fork --rest