主从复制是MongoDB最初使用的复制范式。这种复制易于配置,能支持任意数量的从节点。但是出于一些原因,我们不再推荐在生产部署中使用主从复制了。首先,故障转移完全是人工操作的。如果主节点发生故障,管理员必须关闭某个从节点,把它重启为主节点,随后应用程序必须重新配置以指向新的主节点。其次,恢复很困难。因为oplog仅存在于主节点上,发生故障后要求在新的主节点上创建新的oplog。这意味着在发生故障时,其他现有节点都需要从新的主节点上重新进行同步。
简而言之,没有什么有说服力的理由使用主从复制。副本集才是正途,你应该使用这种复制方式。