при старте сервиса в main функции, как определить что подключение оборвалось и как правильно переподключится? может есть какие-то хорошие примеры, а то не нахожу подобного
оставьте на откуп драйверу
тоесть он через время сам переподключится?
протестируйте. поднимите локально(условно докер) БД, поделайте в цикле условный select now(), гасите/поднимайте БД
спасибо, хорошая идея, нужно попробовать спросил, так, просто может кто уже вкурсе)
sql.DB это не соединение с базой, это некоторая абстракция над пулом соединений
О, извините что вклиниваюсь, учу недавно программирование. Верно ли я полагаю, что могу для выполнения каждого запроса использовать db.Open и это не вызовет проблем?
можно, но это плохая идея
это пулл, он хранит много соединений. вы можете установить количество открытых соединений, максимальное количество открытых соединений, время жизни и т.д Работать с пуллом удобнее гораздо
в пуле запросы последовательны или конкурентны? если в этот момент к АПИ стукнется 1000 запросов, то последний дольше всех будет?
Нет, пул на то и пул, что там несколько независимых подключений к базе болтаются
в пулле соединения, а не запросы. пулл вернет уже открытое соединение или создаст и вернет новое. если код конкурентный - запросы будут конкурентно
Обсуждают сегодня