#mysql2 #node-mysql
#mysql2 #узел-mysql
Вопрос:
У меня есть вопрос высокого уровня о том, как пулы соединений работают в узловом приложении с использованием node / mysql2.
Допустим, есть два одновременных https-вызова, выполняющих запросы API. API (приложение Express / Node) вызывает функцию, которая запрашивает мою базу данных и возвращает JSON. Моя конфигурация пула имеет ограничение в 10 подключений. Когда поступают эти два вызова API, собирается ли mysql2 создать пул из 20 подключений (каждый вызов API обрабатывается отдельно своим собственным пулом) или mysql2 создает всего 10 подключений, которыми будет делиться API? Что произойдет, если 100 человек подключатся одновременно? Это потенциальный пул из 1000 подключений к базе данных одновременно?
Причина, по которой я спрашиваю: некоторые из моих вызовов API связаны с транзакциями MySQL, и для этих запросов я хочу ограничить количество подключений к пулу всего 1, чтобы команды BEGIN TRANSACTION , COMMIT и ROLLBACK выполнялись с одним и тем же идентификатором потока. Все остальные вызовы API могут использовать любое доступное соединение.
Разве эта логика неверна?
Я обеспокоен тем, что если я ограничу какой-либо вызов API до 1 соединения и разрешу другим вызовам API иметь 10 или более, я вызову проблему с подключением к базе данных, если трафик резко возрастет.
Спасибо