Невозможно ограничить параллелизм запросов сервлетов с помощью виртуальных потоков Spring Boot с Tomcat.JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Невозможно ограничить параллелизм запросов сервлетов с помощью виртуальных потоков Spring Boot с Tomcat.

Сообщение Anonymous »

Я обновляю проект Kotlin (v1.9.25) Spring Boot (v3.3.1) с Java 17 до Java 21, чтобы включить виртуальные потоки.
В нашем сервисе почти все запросы получают одно соединение с базой данных и сохраняют его на протяжении всего запроса, тогда как для некоторых очень специфических запросов требуется более одного. Чтобы избежать нехватки подключений к базе данных, мы установили максимальное количество подключений к базе данных, которое немного превышает максимальное количество одновременных запросов.

Код: Выделить всё

spring.threads.virtual.enabled: true
spring.datasource.hikari.maximum-pool-size: 50
server.tomcat.threads.max: 4 # used to be 45 before virtual threads
До сих пор мы контролируем максимальное количество одновременных запросов с помощью server.tomcat.threads.max, но с виртуальными потоками все меняется: идея, насколько я понимаю понимаю, это значит, что исполнитель получает неограниченное количество задач, поэтому здесь нет ограничений.
Это оставляет мне вопрос: как я могу ограничить максимальное количество одновременных подключений в моем сервисе при использовании виртуальных потоков?
Я думал о реализации семафора, но, похоже, с этим подходом что-то не так, я думал, что его можно настроить.
Спасибо большое!

Подробнее здесь: https://stackoverflow.com/questions/788 ... tual-threa
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»