Объединение последовательных запросов в одну загрузку - PullRequest
0 голосов
/ 02 сентября 2018

У меня есть куча журналов данных размером от 1 МБ до 1 ТБ, которые мне нужно сделать доступными для загрузки с веб-страницы.

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

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

Это было бы просто, если бы я просто зарезервировал весь ТБ для каждого журнала, когда они запускаются, но это также было бы огромной тратой денег, поскольку в любой момент времени журналы в среднем составляют половину ТБ.

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

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

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

Я искал в интернете решение, но пока ничего не нашел. Теоретически, это такая простая вещь, просто сделать так, чтобы браузер снимал несколько запросов один за другим к нескольким серверам и последовательно соединял их вместе. Однако на практике я не обнаружил в протоколах HTTP или FTP ничего такого, что действительно позволяло бы это. Я что-то пропустил?

...