Я имею дело с функцией Azure, которая подключается к БД (Java), я полагаю, что-то довольно распространенное.
Функции могут иметь холодный или горячий запуск, моя должна быть теплой в большинстве случаев (это называется каждые 5 минут).Соединение хранится в пуле (JDBCPooledConnectionSource) в статической переменной, поэтому теоретически соединение следует повторно использовать для каждого горячего старта, чтобы повысить эффективность.
Это хорошая стратегия или могут возникнуть проблемы?Например, физическое соединение разрывается, но его ссылка все еще находится в куче: когда ссылка будет использоваться для выполнения запроса, и может возникнуть исключение.
Чтобы избежать вызовов разорванного соединения, я мог быиспользуйте нестатическую переменную для хранения соединения.Это должно быть безопаснее, но менее эффективно, потому что соединение следует восстанавливать при каждом вызове.
Какая стратегия является лучшей?Я предполагаю, что есть много функций, которые делают то же самое (подключение к БД), так что наверняка кто-то более опытный в Azure, чем я, знает лучшую стратегию или распространенные ошибки.