我们有3个实例的mongodb副本集,其中主节点位于数据中心D1,数据中心D2上的辅助节点。在我们的设置中,我们不需要任何故障转移选项,并按照https://docs.mongodb.com/manual/tutorial/configure-secondary-only-replica-set-member/中所述进行配置。当与主节点没有连接时,从mongodb辅助节点读取
在同一数据中心D2内的辅助节点上运行的应用程序“A”正在使用猫鼬,我们指定(使用“最接近”或“次要”选项)从辅助节点读取数据。
我们面临这些问题:
1)是否有可能使“A”从特定的辅助节点阅读,而不会在连接配置中是主节点的MongoDB指定?
2)如果数据中心D1和D2之间的连接丢失,我们如何才能使辅助节点仍然读取“A”应用程序,所以mongoDB主节点不再可用?据我了解,它不起作用,因为即使“A”被配置为从辅助读取,mongoDB仍然需要在执行实际读取操作之前在主要和辅助之间执行一种ping /仲裁。
3)是否有可能/建议在数据中心D2中有一个应用程序,它将直接作为独立实例执行对mongodb副本集主实例的写操作,而不是作为副本集的一部分?
版本: mongodb的3.2.9,猫鼬4.5.9