Понимание ОТДЫХА: ОТДЫХ как транспорт большого объема? - PullRequest
1 голос
/ 08 февраля 2010

Я разрабатываю систему, которая должна будет переносить образы резервных копий объемом в несколько ГБ по TCP, и я рассматриваю REST как альтернативу ONC RPC.

Например, у меня может быть

POST http://site/backups/image1

где image1 - файл размером 50 ГБ, данные которого содержатся в теле HTTP.

Мой вопрос: это то, для чего предназначен REST? Неуместно ли перемещать массивные файлы по HTTP? Мои предварительные тесты показывают, что производительность не так уж плоха, и мне нравится чистый отлаживаемый протокол, а не настраиваемый ONC RPC-сервер. Но не перегружает ли это роль веб-сервера?

Спасибо, -Стив

Ответы [ 3 ]

1 голос
/ 09 февраля 2010

Стив,

HTTP имеет функцию «смотреть перед прыжком», которая позволяет клиенту спрашивать сервер, примет ли он отправку данных, прежде чем он действительно отправит данные. Я хотел бы использовать это, чтобы избежать передачи ГБ данных только для того, чтобы выяснить, что сервер в настоящее время не желает обрабатывать их. Посмотрите заголовок HTTP Expect и 100 кодов продолжения.

Кроме того, вы можете использовать FTP в подходе RESTful, т. Е. Мыслить в духе

<backup-store href="ftp://example.org/site/backup/images/"/>

и заставьте своих клиентов понимать схему URI ftp.

Наконец, T в HTTP означает передача , а не транспорт - важное различие, поскольку первое является семантикой приложения (HTTP является протоколом приложения), а второе - а не.

НТН,

Jan

1 голос
/ 08 февраля 2010

HTTP имеет примерно те же издержки, что и FTP.

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

Единственное, что нужно сделать, - это убедиться, что ваш веб-сервер и платформа веб-приложений настроены на такие действия, без необходимости расширения всего файла 50 ГБ внутри Apache.

0 голосов
/ 09 февраля 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...