【问题标题】:Mongo C# Driver Object AllocationMongo C# 驱动程序对象分配
【发布时间】:2012-02-14 22:36:08
【问题描述】:

假设您有一个 os 进程,其中包括多个独立的并发代理,并且这些代理中的每一个都需要独立访问 MongoDb 服务器并对其进行读写。其中许多读取和写入可能针对 MongoDb 服务器上的同一个数据库和集合。

  1. 我应该如何让这些代理中的每一个都创建自己的 MongoServer、MongoDatabase、MongoCollection 实例?在一个操作系统进程中可以有这些对象的许多实例吗? (可能有 10000 个代理)这会造成瓶颈吗?

  2. 每次代理调用 Mongo 服务器时,我应该让它获取这些对象(MongoServer、MongoDatabase、MongoCollection)的新实例,还是每个代理都可以保留它自己的这些对象的实例并将其终身使用?

  3. 当我在一个进程中有这么多代理访问 Mongo 对象时,我应该担心连接池吗?

【问题讨论】:

    标签: mongodb mongodb-.net-driver


    【解决方案1】:

    这里的工作单元讨论 Unit of work in mongodb and C# 似乎对此有所了解,基本上说这并不重要,例如与 ORM 中的上下文对象不同。

    【讨论】:

    • 这对于 MongoServer 对象是正确的,但是在一个进程中其他 mongo 驱动程序对象的多个实例呢?他们会受到共享连接池的影响吗?
    • 我希望如果服务器很便宜,那么其他所有东西都可能很便宜,特别是对于像集合这样的东西,你会期望它只是集合名称等的包装,以及查询本身总是动态构造的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多