用冗余部署MongoDB

673 阅读2分钟

无论你或你的云供应商采取什么预防措施,计算机总是有硬件故障的风险。管理任何计算机系统的一个重要部分,不仅仅是MongoDB安装,是对你的重要信息进行定期备份。通过对你的数据进行备份和存储,如果你的数据库服务器崩溃,你的原始数据丢失,你可以将你的应用程序恢复到工作状态。

就像你应该定期备份你的MongoDB数据一样,同样重要的是,你要把这些备份存储在与托管数据库的服务器分开的地方。如果你把你的备份和你的数据库存储在同一个数据中心,那么如果数据中心发生故障,数据库和你的备份都将不可用,你将无法使用备份来让你的应用程序重新上线。

复制_是一种类似于做备份的做法:做备份需要对数据库中的所有数据进行时间点快照,而复制则需要在多个独立的数据库中不断同步数据。拥有多个数据副本通常是有用的,因为这可以在其中一个数据库服务器发生故障时提供冗余,还可以提高数据库的可用性和可扩展性,以及减少读取延迟。在MongoDB中,一组通过复制维护相同数据集的服务器被称为_副本集

官方文档建议,在生产环境中使用的任何Mongo数据库都应以副本集的形式部署,因为MongoDB副本集采用了一个被称为. 自动故障转移.这意味着,如果主数据库发生故障,并且在预定的时间内无法与次要成员通信,次要成员将自动选出一个新的主成员,从而确保你的数据对你的应用程序或依赖它的客户保持可用。

相关资源