Найти - Пользователи
Полная версия: Способы передачи больших объемов данных между серверами
Начало » Web » Способы передачи больших объемов данных между серверами
1
derdmitry
Используем xmlrpc, передаем довольно большой объем данных (порядка 50к-100к сложных объектов). При этом используется промежуточный сервер. В процессе передачи/получения данных расходуется очень много ресурсов памяти и процессора…
Какие есть альтернативные способы передачи массивов данных?
Lexander
json, protobuf

Если позволяют обстоятельства, уменьшить размер пакетов.
o7412369815963
каков объем данных?
можно использовать веб сервер, в качестве отдачи и проксирования.
закачку через wget / urllib
derdmitry
Объем данных 200-500 Мб.
Есть три проекта на pylons.
Их связывает центральный узел(pylons.controllers.XMLRPCController), который по запросу собирает данные со всех проектов и отдает запросившему.
При этом расход памяти доходит доходит до 500-700 Мбайт и занимает от 300 секунд.
Выборка и обработка данных, до передачи, на начальном узле из базы занимает 1-2 с.
Lexander
Тогда действительно wget.
Но в качестве протокола использовать FTP.

Пусть скрипт сохраняет локально файл и возвращает FTP-ссылку, которую с помощью wget получает центральный узел.
o7412369815963
Lexander
Тогда действительно wget.
Но в качестве протокола использовать FTP.

Пусть скрипт сохраняет локально файл и возвращает FTP-ссылку, которую с помощью wget получает центральный узел.
почему ftp? у него есть докачка?
Lexander
o7412369815963
почему ftp?
Исходя из размера файлов для минимизации накладных расходов (см. описание протокола).
o7412369815963
у него есть докачка?
Докачка - это свойство сервера, а не протокола.
Разве вы никогда не видели сервера с докачкой по ФТП?
o7412369815963
Lexander
Докачка - это свойство сервера, а не протокола.
Разве вы никогда не видели сервера с докачкой по ФТП?
Не только сервера, но и клиента. Неа не видел, хотя шибко и не рассмартивал. В базовом наборе команд докачки нет.

Кстати, раз пошла такая тема, тогда стоит рассмотреть nfs и ssh. Я как раз их использую для передачи файлов (особенно если передача в пределах локальной сети, для неё не нужна докачка таких смешных объемов).
Lexander
Согласен.
Ed
o7412369815963
Lexander
Докачка - это свойство сервера, а не протокола.
Разве вы никогда не видели сервера с докачкой по ФТП?
Не только сервера, но и клиента. Неа не видел, хотя шибко и не рассмартивал. В базовом наборе команд докачки нет.
Поищите тут описание команды REST: http://www.ietf.org/rfc/rfc959.txt
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB