CloudFront

ою Java-сервер, который должен масштабироваться. Один из сервлетов будет обслуживать изображения, хранящиеся в Amazon S3.

Недавно под нагрузкой у меня закончилась память на моей виртуальной машине, и это было после того, как я добавил код для обслуживания изображений, так что я почти уверен, что потоковая передача больших ответов сервлета вызывает мои проблемы.

Мой вопрос: есть ли лучшая практика в том, как кодировать Java-сервлет для потоковой передачи большого (> 200 КБ) ответа обратно в браузер при чтении из базы данных или другого облачного хранилища?

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

Любые мысли будут оценены. Благодарю.