Ответ 1
Вы не хотите открывать новое подключение к базе данных каждый раз, когда подключается новый пользователь. Я не знаю, сможете ли вы легко масштабировать до 20k + одновременных пользователей, поскольку MongoDB использует новый поток для каждого нового соединения. Вы хотите, чтобы брандмауэр вашего веб-приложения открывал только одно подключение к нескольким базам данных и просто использовал их в пуле, особенно потому, что использование Интернета очень асинхронно и управлялось событиями.
см. ниже: http://www.mongodb.org/display/DOCS/Connections
Сервер будет использовать один поток для каждого TCP соединение, поэтому очень рекомендуется, чтобы ваше приложение используйте какой-то пул соединений. К счастью, большинство драйверов справляются с этим для вас за кулисами. Одним из примечательных исключений являются настройки, в которых приложение запускает новый процесс для каждого запроса, например, CGI и некоторые конфигурации PHP.
Независимо от того, какой драйвер вы используете, вам нужно будет выяснить, как они обрабатывают соединения, и если они объединяются или нет. Например, Node Mongoose не блокируется, поэтому вы обычно используете одно подключение для каждого приложения. Это то, что вы, вероятно, захотите.