RU

Свежий взгляд на бронирование тайм‑слотов, или как я это сделал на Spring boot, используя пессимистические блокировки

Здравствуйте, Хабровчане! Меня зовут Дмитрий, я бэкенд разработчик Java. Недавно я наткнулся на задачу, которая сначала показалась мне копеечной, а…

javaspring bootpostgresqlbackendarchitectureslots apib2bsaas
Habr
RU

OpenIDE Pro в деле: Java, Spring, базы данных и AI-агенты в одной IDE

За последние несколько лет часть привычных инструментов разработки стала для российских компаний ограничена или недоступна: возникли сложности с зак…

IDEOPENIDEaxiom jdkaxiomjdkspring bootpythonc++kotlingoразработка приложений
Habr
RU

Как я ускорил работу с топом-пользователей с 36 минут до 20 секунд, используя Redis Sorted Set

Всем привет, меня зовут Михаил, я работаю Java/Kotlin разработчиком в ОТП Банке. Все мы знаем про Redis. Часто используем его для in-memory кэша. В…

javaredishighloadвысоконагруженные системыоптимизацияоптимизация кодаоптимизация запросовhighload systemsspringspring boot
Habr
RU

Я продал одно место на концерт 20 раз. Разбираемся, как правильно защититься от race condition в Spring Boot

Однажды я решил проверить на практике байку, которую слышал на десятке собеседований: “у нас на проде было такое-то место продано дважды, потому что…

javahibernatespring data jparedisoptimistic lockingpessimistic lockingrace conditionspring boot
Habr
RU

Дело о молчаливой JVM: мониторинг Spring Boot с Prometheus и Grafana. Production-нуар

Она умерла в воскресенье вечером, и никто не услышал ни звука. Детективная история о том, как поставить прослушку на собственное приложение: Prometh…

spring bootprometheusgrafanamicrometerмониторингметрикиsloalertmanagerjvmpromql
Habr
RU

[Перевод] Проблема фантомной записи: почему ваша реализация идемпотентности незаметно теряет данные

В проде бывает так, что одна и та же операция часто повторяется : клиент не дождался ответа и ретраит, балансер порвал соединение, очередь переиграл…

javakotlinspringspring bootspring frameworkspring-bootspring data
Habr
RU

Шёл за утечкой памяти, нашёл утечку диска: SXSSFWorkbook без dispose() в Apache POI

Меня зовут Игорь Симаков, работаю engineering manager’ом и руковожу командами разработки На одном из наших сервисов, который работает с XLSX-файлами…

apache poiутечка памятиkubernetesjavarssarchunitspring bootпроизводительность
Habr
RU

Spring AI: феноменология цифрового сознания, или Как я перестал бояться и полюбил облачные модели

Привет. Меня зовут Николай Пискунов, я руководитель направления Big Data и эксперт курса Cloud DevSecOps по безопасной разработке от Академии вАЙТИ&…

spring aijavaspring bootllmollamaopenaichatgptreactive programmingstreamingsse
Habr
RU

Kafka, таксономии и удаление событий: как исключить обработку неактуальных сообщений

В рамках задачи по обработке XBRL-таксономий возникло требование: если таксономия удалена до обработки событий расчёта кэша, эти события не должны п…

kafkaspring bootSpring Kafkajavaмикросервисыtombstone objectsCompacted topiclog compactionconsumerидемпотентность
Habr
RU

Неизменяемая архитектура. Практическая проверка кодом. Проверка работы с бизнес-процессом

Получив рабочую инфраструктуру для решения задач и проверив работоспособность технологий, теперь создадим менеджер обработки бизнес-процесса на осно…

неизменяемая архиектураspring booth2бизнес-процессы
Habr