Универсальный пул против пулирования узла-mysql
Я пишу небольшое веб-приложение с node.js + MySQL и задаюсь вопросом, что является лучшим выбором для пула соединений. До сих пор я обнаружил два варианта: пул соединений из node-mysql ( https://github.com/felixge/node-mysql), а также node-mysql + generic-pool ( https://github.com/coopernurse/node-pool). Кажется, что оба служат одной и той же цели, и мне просто интересно, есть ли у вас опыт работы с обоими, какой из них вы выбрали и почему?
1 ответ
Ну, это зависит от того, насколько вам нужен контроль. Несколько месяцев назад я использовал generic-pool + node-mysql, потому что я боролся с некоторыми проблемами при использовании mysql-pool, но теперь, похоже, он работает нормально. В любом случае, если вам нужен контроль над одним из них:
- мин / макс количество соединений
- тайм-аут соединения
- приоритеты очередей (проверьте приоритетность общего пула)
- проверка соединения перед приобретением
Одно преимущество (это может быть и недостатком) с пулом node-mysql заключается в том, что вы можете получить обратный вызов при достижении предела максимального количества соединений. Это должно быть полезно, когда вы сталкиваетесь с перегрузкой сервера, и лучше сообщить клиенту, что система не работает (чем дать ему подождать - пожалуйста, исправьте меня, если поддержка generic-pool поддерживает тайм-аут получения, нигде не удалось его найти). И также есть меньше кодирования:).