2013-07-12 3 views
4

Работа с Node-MySql модуля:Когда я должен использовать соединение объединения с MySQL в NodeJS

Из моего понимания многопоточных программ больше пользы от объединения соединений, чем singlethreaded них. Это правда?

И если эта логика доказывает истинность, то какой сценарий связан с пулом полезным в приложении Node.JS?

ответ

3

ли одного или многопоточный, пулы все еще может быть полезным в allowing open connections to be reused вместо того, чтобы закрыть только открыть другой сразу же после того, как:

Когда вы закончите с подключением, просто позвоните connection.release() и соединение будет возвращать в бассейн, готовый снова использоваться кем-то другим.

Дополнительное преимущество с многопоточным является то, что пул может также управлять несколько, одновременными соединениями:

Соединение создано отложенно у бассейна. Если вы настроите пул, чтобы разрешить до 100 подключений, но только когда-либо используете 5 одновременно, будет сделано только 5 соединений.

Хотя, чтобы быть ясным, узел является многопоточным. Он просто использует другую модель, чем кажется типичной - 1 «application», которая выполняет JavaScript и несколько «worker», которые обрабатывают основную нагрузку асинхронного ввода-вывода.

+0

Благодарим вас за разъяснение, является ли это односторонним или нет. Просто взглянул на кластер - это смена игры. Только одна небольшая коррекция - connection.end была изменена на connection.release по состоянию на 20 часов назад. https://github.com/felixge/node-mysql/commit/d5753f83ab139e5ebb04adf22497bfab94f4c985 – FredTheWebGuy