.
Подключаюсь из express через mysql2/promise
Каким образом лучше выполнять соединения?
Первый вариант (соединение с бд проходит внутри хэндлеров):
app.get('/point1', async(req, res)=>{
const conn = await mysql.createConnection(dbOptionsObject)
// тут обработчик маршрута плюс запросы к базе
conn.end()
res.send('OK')
})
app.post('/point2', async(req, res)=>{
const conn = await mysql.createConnection(dbOptionsObject)
// тут обработчик маршрута плюс запросы к базе
conn.end()
res.send('OK')
})
Второй вариант (соединение с бд происходит до обработчиков):
const conn = await mysql.createConnection(dbOptionsObject)
app.get('/point1', async(req, res)=>{
// тут обработчик маршрута плюс запросы к базе
res.send('OK')
})
app.post('/point2', async(req, res)=>{
// тут обработчик маршрута плюс запросы к базе
res.send('OK')
})
И есть еще вариант с пулами, но тут я прям дуб-дубом
Суть в том, что мне надо каким-то образом распределить нагрузку.
Есть события некторые при которых одновременно на фронт стучится 200-300 человек.
При этом от каждого в бэк летит запрос, которые требует доступа к бд.
И скрипт падает с ошибкой "too many connections to MySql..."
Вот от этого хотелось бы избавиться
Не надо каждый раз подключаться к бд
Второе
Обсуждают сегодня