В нашем веб-сервисе была обнаружена уязвимость, которая, как считается, была склонна к автоматическим атакам. Чтобы иметь обработку второго уровня (обработка 1-го уровня через защиту брандмауэра), мы решили реализовать ее в наших кодах.
Мы уже нашли библиотеки ограничения скорости для Java (например, Гуава). Мы также заставили это работать. Проблема, которую мы видим здесь, состоит в том, что кэш для хранения недопустимых попыток выполняется в памяти. В работе наш веб-сервис развернут на двух узлах сервера приложений, которые сбалансированы по нагрузке. Так как оба узла имеют свою собственную JVM, этот тип установки не может работать. Есть ли способ обойти это и при этом заставить его работать?