в с3 этот файл будете жить в хипе до следующей сборки мусора?
Принимаешь стрим с клиента и сразу же партиями кидаешь в с3. В таком кейсе байтбуфер, который создаешь будет жить до след сборки?
По графикам если грузишь 200мб файл, то и использование хипа растет тоже около 200 мб и потом со сборкой мусора подчищается
Мультипарт и гпрс стрим
ну мультипарт должен на диске лежаать, если ты стримом его потом читаешь
Принимать мультипарт в темп файл и темп файл перегонять в с3?
Там зависит от имплементации
Это норм варик
а ты буферами как читаешь? в цикле новый буфер?)
Ты, так или иначе, сохранишь мультипарт сначала на диск(после определенного трешхолда) и это правильно, так сделано везде. Но вот момент с тем, что ты стримишь по grpc в s3 я не совсем понял, у вас какой-то свой коннектор к s3?
Нет, в случае обеих ручек сохраняю в темп файл. Потом как тут Low-level api https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpu-upload-object.html
При приеме файла от клиента
А, у вас там какой-то гейтвей, который далее стримит в твой сервис по grpc?
Угу, то же самое
А откуда у тебя тогда bytebuffer появился?
При отправке в с3
Ну так передаешь inputStream от tmp-файла в putObject.
Обсуждают сегодня