Как избежать избыточного трафика в приложении Spring Boot? - PullRequest
0 голосов
/ 17 июня 2019

У меня есть приложение Spring-Boot 2.x и некоторая конечная точка контроллера покоя, которая загружает многокомпонентный файл, как это

    @PostMapping("/somePath")
    public ResponseEntity someController(@RequestParam MultipartFile file) )

также у нас есть jwtFilter в цепочке фильтров безопасности, который проверяет токен jwt на достоверность;
и у нас есть ситуация, когда токен недействителен, но tomcat потребляет трафик

как это проверить? :
Я использую пружинный привод и делаю запрос:
ПОЛУЧИТЬ http://localhost:8080/actuator/metrics/tomcat.global.received

Можно ли прервать трафик, пока фильтр не проверяет токен?
Есть ли способ избежать избыточного трафика?

Я пробовал HttpServletRequest и InputStream в качестве параметра контроллера, но результат тот же.

Ответы [ 2 ]

2 голосов
/ 17 июня 2019

Это невозможно, единственный способ - использовать другое приложение балансировки из соображений безопасности И это правильно, если вы думаете о микросервисах. Кроме того, это правильно для разделения проблем.

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

Подробнее см. spring-cloud, zuul .

0 голосов
/ 17 июня 2019

Учитывая, насколько дорогие загрузки файлов и не имеют лучшего решения, я бы тем временем:

  • Определите время, необходимое для добавления поверх срок действия токена
  • Попросите клиента позвонить, чтобы проверить токен перед дорогой загрузкой, и обновите токен при необходимости
  • Наличие сервера, когда срок действия токена истек, чтобы разрешить продление времени, в течение которого токен с истекшим сроком действия все еще будет считаться действительным

Другой вариант - клиент может обновить токен перед дорогой загрузкой. Клиент может посмотреть на размер загружаемых файлов, чтобы определить, следует ли обновлять или нет.

...