У меня около 100 клиентов (машины Windows в основном с одним или двумя Mac/Ubuntas), и мне нужно синхронизировать огромное количество файлов между клиентами с помощью центрального сервера, который почти не работает с синхронизированными файлами (в основном управляя правами доступа).Как эффективно передавать огромное количество файлов с моих клиентов python на сервер и обратно?
Сейчас я вижу два решения, доступные:
Использование XML-RPC. Выглядит отлично, но я не уверен в производительности. Из этого я googled производительность этого подхода является подпара.
Используйте paramiko и скопируйте файлы по ftp из scp. Мне не нравится это решение, потому что я храню файлы в riak, и это будет двойная работа в/в на стороне сервера: сначала напишите файл на диск и второй прочитайте файл с диска и, наконец, напишите его на riak ,
Есть ли такой третий подход, как использование сокетов и запись файла, передающего код самостоятельно? Есть ли асинхронный сервер XML-RPC и нужен ли он для моей задачи?
Операции во время передачи файлов:
Проверка подлинности загрузки пользователем
Проверка дисковой квоты пользователя
правила, основанные Managment прав доступа (который может читать/записывать каждый файлов/каталогов) ,
Размещение файлов в riak, поскольку необходим определенный уровень отказоустойчивости.
Как я вижу, это приложение на самом деле должно быть ближе к dropbox, чем к rsync. Мы фактически использовали dropbox api, но это хранилище должно быть интегрировано глубоко с нашими другими системами, поэтому мы хотели иметь больше контроля над ним.
Я нахожу идею использования rsync очень интересным, но насколько хорошо работает rsync на окнах? Также я обновил вопрос. Разработанное приложение на самом деле должно быть ближе к dropbox, чем к rsync. Мы фактически использовали dropbox api, но это хранилище должно быть интегрировано глубоко с нашими другими системами, поэтому мы хотели иметь больше контроля над ним. – Moonwalker