🚀 Spring Boot: почему нельзя делать длинные транзакции

Длинные транзакции - одна из самых частых причин деградации системы, хотя код при этом может выглядеть «нормально».

Что происходит на самом деле:

- транзакция держит lock в базе
- другие запросы начинают ждать
- растёт latency
- падает throughput
- система перестаёт масштабироваться

📉 Итог - узкое место появляется не в коде, а в БД

❌ Плохой подход:
начать транзакцию → делать бизнес-логику → ходить во внешние API → потом commit

Проблема:
ты держишь блокировки всё это время

✅ Правильный подход:
сначала сделать всю тяжёлую работу (API, расчёты)
потом быстро открыть транзакцию → записать → commit

🧠 Простое правило:
транзакция должна быть максимально короткой
только чтение/запись - ничего лишнего

🔥 Большинство оптимизирует запросы
но сильный рост даёт именно контроль времени транзакций
7
🔥 3
👍 2
3 15 2.7K

Обсуждение 3

Обсуждение не доступно в веб-версии. Чтобы написать комментарий, перейдите в приложение Telegram.

Обсудить в Telegram