我有一个用例,我需要在一个场地上建立两个物理站。每个站点将运行几个应用程序服务器和一个mongodb服务器。
我不能依靠该场所的互联网访问,因此我需要我的应用程序能够脱机工作并不时地“同步”数据库。
最初,我想到要有两个主服务器以某种方式与远程主机同步,但是TIL认为mongodb无法进行主-主机复制。
我已经读过关于主动-主动方法的信息,但是,当我离线时,这不会让我写到另一个分片上。
我的想法不多了,任何建议将不胜感激。
------更新我要达到的目标:
我正在一个有两个入口的场所工作。这个想法是为了能够从参加活动的人那里获取一些信息(姓名,电子邮件等)。注册后,我们将打印带有一些信息的名称标签。
一切听起来都很简单,但是,如果可能的话,我想不要依赖场地的网络(互联网)。因此,这就是我开始努力找出最佳方法的地方。我想我想拥有一个远程mongo,但是如果网络出现故障,请继续在本地保存记录,并在网络再次可用时将其发送到远程mongo实例。
其他注意事项: -活动持续了几天,有些人在一夜之间失去了名字标签,他们应该能够进入任何一个入口并重新打印。因此,即使他们在入口A处注册,但我们要求在入口B上重新打印,我们也应该能够找到他们的信息。
更多问题: -我在想什么吗?也许会场的网络+ 4G / LTE调制解调器作为备份应该足够了?我宁愿不依赖它。
答案 0 :(得分:1)
我相信您想得太多。如果遇到类似的情况,这就是我要做的事情:
根据描述,这听起来好像根本不需要实时连接两个站点。我将在条目A上创建一个服务器,在条目B上创建另一个服务器,并在需要时每天结束后每天合并它们的数据。这是因为:
就我个人而言,我认为根本不需要隔夜同步(请参阅人们两次注册的可能性)。事件结束后,我将只从两台服务器收集数据。也就是说,除非您对第二天的两个条目的合并数据有特定需求。
注意:请确保您至少运行3节点副本集。不建议在产品环境中运行独立实例。硬件/磁盘损坏是常见事件。