2012-02-14 93 views
2

想象一下,您有一個os進程,其中包含多個獨立的併發代理,並且這些代理中的每一個都需要獨立訪問MongoDb服務器並從中讀取和寫入。這些讀寫操作中的很多可能都是對MongoDb服務器上的同一個數據庫和集合。Mongo C#驅動程序對象分配

  1. 我應該如何讓這些代理商創造自己MongoServer,MongoDatabase,MongoCollection實例中的每一個?在一個os進程中有多個這些對象的實例可以嗎? (可能有10000個代理商)可能會造成瓶頸嗎?

  2. 每當一個代理正在對Mongo服務器進行調用時,我是否應該讓它獲得這些對象的新實例(MongoServer,MongoDatabase,MongoCollection),還是可以讓每個代理保持它自己的這些對象的實例並將其用於其生命?

  3. 當我有這麼多的代理在一個進程中使用Mongo對象時,我應該擔心連接池嗎?

回答

2

在這裏工作的討論Unit of work in mongodb and C#單位似乎借鑑這方面的一些光,基本上說這並不重要,在奧姆斯例如不同上下文對象。

+0

對於MongoServer對象,這是真的,但在一個進程中,其他mongo驅動程序對象的多個實例如何?他們是否會受共享連接池的影響? – iCode 2012-02-15 02:48:18

+0

我期望如果服務器便宜,那麼可能其他一切都很便宜,特別是對於像集合這樣的東西,你會期望它只是集合名稱等的包裝,並且查詢本身總是動態構建的。 – Meligy 2012-02-15 04:39:06

+0

這很有道理。謝謝。 – iCode 2012-02-15 08:43:10

相關問題