MongoDB架构一台服务器多个客户端C#

时间:2015-03-15 09:14:53

标签: c# mongodb replication

我有一台运行MongoDB的服务器,它在互联网上,一直运行。

我有两到五个客户端在同一个本地网络中运行,只在C#应用程序运行时运行(每天3小时)。

使客户端MongoDB保持最新并使其单独运行而无需连接到Internet MongoDB服务器的首选策略是什么?

也可能发生一个客户端运行一周左右,并且仍应从Internet MongoDB服务器更新到最新状态。

副本设置的方式是什么?或者在C#中实现客户端的更新过程会更好吗,因为这不是副本集的想法吗?

欢迎提出意见。

1 个答案:

答案 0 :(得分:0)

  

客户端MongoDB

客户端计算机不应运行MongoDB。 MongoDB不是嵌入式数据库,必须进行管理,并且在客户端的内存使用方面通常过于激进。

  

副本设置的方式是什么?

没有。复制基本上是“永远在线”。副本集的成员在任何时候都或多或少都在线。其他机器必须保留积压的操作(oplog),这样一旦奴隶重新启动它们就可以重放所有这些操作,如果预期奴隶数量下降,那么效率极低。

  

或者在C#中实现客户端的更新过程会更好吗,因为这不是副本集的想法吗?

是的,这是典型的客户端逻辑。我不明白的是,在这种情况下,客户端总是不像每个常规Web应用程序那样从服务器获取数据吗?如果客户端应该可以脱机使用(la git),那么会引入一系列不同的挑战,例如多版本并发控制('branches'),它位于问题/应用程序域中,但与之几乎没有关系使用的数据库。