Вопрос

Я ищу хороший способ передачи нетривиальных (10G > x > 10MB) объемов данных с одной машины на другую, потенциально в течение нескольких сеансов.

Я кратко ознакомился с

  • * ftp (sftp, tftp, ftp)
  • http
  • торренты (недоступны, потому что у меня вообще не будет начальной сети)
  • rsync (не уверен, смогу ли я действительно адаптировать это к тому, что мне нужно)

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

(И да, я знаю, что могу написать свой собственный через udp, но я бы предпочел почти все остальное!!)

Это было полезно?

Решение

Я использую rsync (через SSH) для передачи всего, что, по моему мнению, может занять больше минуты.

Легко ограничивать скорость, приостанавливать / возобновлять и получать отчеты о ходе работы.Вы можете автоматизировать это с помощью SSH-ключей.Он (обычно) уже установлен (во всяком случае, на * nix-боксах).

В зависимости от того, что вам нужно, rsync, вероятно, может адаптироваться.Если вы распространяете информацию среди большого количества пользователей, FTP / HTTP может быть лучше для решения проблем с брандмауэром;но rsync отлично подходит для передачи один-к-одному или один-к-нескольким.

Другие советы

rsync - почти всегда лучший выбор.

поскольку он передает только различия, если передача будет прервана, в следующий раз она не будет так сильно отличаться от первой (когда в пункте назначения не было файла).

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

Что ж, HTTP - хороший вариант, поскольку он поддерживает перезапуск частичных передач с помощью диапазоны байтов.FTP или TFTP хороши тем, что вы можете получить серверное программное обеспечение, которое чрезвычайно просто настроить, вместо того чтобы блокировать что-то вроде HTTP-сервера.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top