Project Loom и Spring Boot: тесты производительности
Сегодня я хочу выяснить, готов ли Project Loom заменить Spring WebFlux при создании высоконагруженных приложений с высокой пропускной способностью.
Проблемы реактивного подхода
WebFlux - замечательная технология с фантастической производительностью, однако:
- При использовании реактивного подхода код сложнее писать и сопровождать
- Стектрейсы малополезны при разборе ошибок
- Все связанные клиенты/библиотеки также должны быть написаны в реактивном стиле
Что такое Project Loom
- В статусе превью-фичи с Java 19, разработка стартовала в 2017
- Основное нововведение - виртуальные потоки, призванные значительно снизить трудозатраты на написание и сопровождение приложений
- Предполагается возможность создавать миллионы виртуальных потоков. (Прим. пер. мне кажется, автору стоило явно выделить основную мысль. Поскольку виртуальные потоки дешевы, то запуск блокирующего кода в таком потоке тоже дешевая операция, т.к. реальный системный поток при этом не блокируется и может заняться чем-нибудь полезным )
- Предполагается минимальное вмешательство в существующий код
- Стек виртуальных потоков хранится в хипе JVM
Rus https://habr.com/ru/articles/745748/
Eng https://filia-aleks.medium.com/project-loom-with-spring-boot-performance-tests-c007e0e411c8
👉@BookJava
Post #2472
2.6K

- 👍 4
- 🔥 3
- ❤ 1
- 👎 1