Search
Write a publication
Pull to refresh
5
0
Send message

Как скомпилировать Spring Boot приложение в native image с помощью GraalVm и развернуть его с помощью Docker

Level of difficultyMedium
Reading time11 min
Views8.9K

До недавнего времени мой опыт работы с бекенд-приложениями ограничивался созданием приложения на базе Spring Boot различных версий с использованием реляционных баз данных, ликвибейза, брокеров сообщений и т.д. Приложения в большинстве своем были легковесными, быстро запускались и не требовали большого количества ресурсов. Пока на работе мы с командой не столкнулись с проектом, который мало того, что запускался мучительно долго, так ещё и работал с большим количеством сервисов, постоянно то отдавая, то обрабатывая различные данные. Всё это, конечно же, приводило к медленной работе в продакшене, частым зависанием или вообще поломкой сервиса.

Это стало одной из причин интереса к GraalVm - виртуальной машине, написанной на Java, помогающая делать программы быстрее с помощью JIT компилятора. GraalVm помогает скомпилировать java код в так называемый native image. Это исполняемый файл приложения, который мгновенно запускается без старта JVM.

Эта статья - туториал, как подружить между собой Spring Boot, GraalVm, Liquibase и Docker, какие могут возникнуть подводные камни и как их можно обойти.

Читать далее

Information

Rating
Does not participate
Registered
Activity

Specialization

Backend Developer
Middle
Git
SQL
PostgreSQL
OOP
Java
Docker
REST
RabbitMQ
Spring Boot
English