Отложенные JDBC-соединения в Spring Boot 4.1 (прирост производительности)
Dan Vega
0:00 / 0:00
Отложенные JDBC-соединения в Spring Boot 4.1 (прирост производительности)
6 700 просмотров · 2 месяца назад
Dan Vega
93,3 тыс. подписчиков
6 700 просмотров · 2 месяца назад
Одно изменение свойства позволило сократить время удержания соединения с 2 секунд до 15 миллисекунд. Ленивые JDBC-соединения в Spring Boot 4.1 — это функция, о которой вам нужно знать, и я докажу разницу в производительности с помощью реальных метрик.
В этом видео мы рассмотрим новое свойство spring.datasource.connection-fetch=lazy в Spring Boot 4.1. Мы создадим полноценное демонстрационное приложение с Spring Data JDBC, Postgres, Docker Compose и Spring Boot Actuator, чтобы измерить реальную разницу между немедленной и ленивой загрузкой соединений. Вы увидите, когда именно эта оптимизация важна, а когда она не поможет.
Как работает немедленная и отложенная загрузка JDBC-соединений внутри методов с аннотацией @Transactional
Как включить отложенные соединения с помощью одного свойства: spring.datasource.connection-fetch=lazy
Создание демонстрационного приложения с использованием Spring Data JDBC, Postgres, Docker Compose и метрик Actuator
Измерение реальных различий в производительности с помощью метрик Micrometer через конечную точку Actuator
Когда отложенные соединения окупаются (медленные удаленные вызовы перед записью) и когда нет
Если вы узнали что-то новое, поставьте лайк, подпишитесь на канал, чтобы получать больше контента по Spring Boot 4.1, и оставьте комментарий, указав, какую функцию вы хотите, чтобы я осветил в следующий раз!
0:00 - Результат преобразования 2 секунд в 15 мс
0:20 - Введение и обзор Spring Boot 4.1
1:15 - Примечания к релизу и страница с основными моментами релиза
2:00 - Репозиторий GitHub и то, что мы разрабатываем
2:50 - Объяснение типа соединения: Eager и Lazy
3:40 - Генерация проекта на start.spring.io
5:00 - Схема, запись клиента и настройка репозитория
6:30 - Создание медленного удаленного клиента
8:00 - Сервис регистрации с @Transactional
9:00 - Конечная точка REST-контроллера
9:45 - Тестирование с eager (по умолчанию) — время удержания 2,2 секунды
11:00 - Переключение на lazy — время удержания 15 мс
12:00 - Когда использовать lazy-соединения (и когда не использовать)
13:00 - Заключение и что дальше
🔗Ресурсы и ссылки, упомянутые в этом видео:
Репозиторий GitHub — Демонстрация ленивых JDBC-соединений: https://github.com/danvega/jdbc-lazy-...
Статья в блоге Spring Boot 4.1: https://spring.io/blog/2026/06/10/spr...
Примечания к релизу Spring Boot 4.1: https://github.com/spring-projects/sp...
Основные моменты релиза Spring: https://spring.io/projects/release-hi...
👋🏻Свяжитесь со мной:
Веб-сайт: https://www.danvega.dev
Твиттер: / therealdanvega
Github: https://github.com/danvega
LinkedIn: / danvega
Рассылка новостей: https://www.danvega.dev/newsletter
ПОДПИСЫВАЙТЕСЬ НА МОЙ КАНАЛ: http://bit.ly/2re4GH0 ❤️