Противодавление с помощью Spring Webflux и несколько медленных HTTP-запросов - PullRequest
1 голос
/ 22 октября 2019

В моем webflux-приложении я принимаю сообщения от AWS-SQS и использую их для вызова нескольких HTTP-запросов на медленном бэкэнде (время ответа до 5 секунд).

Я понял, что чем больше сообщений я потребляю, тем медленнее становится бэкэнд, пока он не умрет, из-за слишком большого трафика.

Как я могу использовать механизм реактора / webflux, чтобы контролировать количество запросов, которые я отправляю бэкэнду? Я пробовал некоторые вещи с помощью limit / limitRate, но он не сработал, как ожидалось.

Есть ли у вас образцы / идеи?

1 Ответ

0 голосов
/ 23 октября 2019

Взгляните на библиотеку resilience4j . Среди нескольких функций отказоустойчивости, таких как автоматический выключатель, повторная попытка, переборка, есть также ограничение скорости .

Они поддерживают Project Reactor .

...