我有一台运行MongoDB的服务器,该服务器一直在互联网上运行。
我有两个到五个客户端在同一个本地网络中运行,仅在C#应用程序运行时(每天3个小时)运行。
使客户端MongoDB保持最新状态并使其独立运行而又不希望能够连接到Internet MongoDB服务器的最佳策略是什么?
同样可能发生的是,一个客户端没有运行一周左右,并且仍应从Internet MongoDB服务器更新为最新状态。
副本设置了走的路吗?还是因为用C#来实现客户端的更新过程会更好,因为这实际上不是副本集的想法?
欢迎提出想法。
客户MongoDB
客户端计算机不应运行MongoDB。MongoDB不是嵌入式数据库,必须对其进行管理,并且在客户端的内存使用方面通常过于激进。
副本设置了走的路吗?
否。复制本质上是“始终在线”。副本集的成员希望始终处于在线状态。其他机器必须保留操作积压(oplog),以便一旦从属服务器重新启动,它们就可以重播所有操作,如果期望从属服务器停机,则效率极低。
还是因为用C#来实现客户端的更新过程会更好,因为这实际上不是副本集的想法?
是的,这是典型的客户端逻辑。我不明白的是,为什么在这种情况下客户端不总是像每个常规Web应用程序一样从服务器获取数据?如果客户端可以脱机使用(有点麻烦),则会带来一系列完全不同的挑战,例如多版本并发控制(“分支”),它位于问题/应用程序领域,但与之无关。使用的数据库。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句