Что является хорошим решением для ежедневного распространения файлов изображений на нескольких платформах? - PullRequest
0 голосов
/ 25 февраля 2010

Извините за дерьмовый заголовок.

У меня есть хранилище изображений продуктов (примерно 55 000 и растет примерно на 1000 в год), которое меняется ежедневно (до 100 изображений добавляются, изменяются и / или удаляются каждый день).

Мне нужно, чтобы три человека имели доступ к внесенным выше изменениям (чтобы они могли читать / писать в каталогах). Все они будут использовать ПК с Windows Vista.

Мне также нужно иметь возможность размещать изображения, чтобы поставщики могли быть в курсе изменений на ежедневной основе. Есть около 100 продавцов.

Система, о которой я сейчас думаю, будет включать использование Subversion.

В стволе у ​​меня были бы изображения (разбитые на несколько каталогов и подкаталогов). Три человека будут иметь рабочие копии на своих локальных компьютерах, чтобы они могли внести необходимые изменения, и нам не пришлось бы беспокоиться о конфликтах. Кроме того, каждый может легко быть в курсе событий с хранилищем (не говоря уже об очевидных преимуществах управления версиями и резервного копирования).

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

Все поставщики обладают достаточным техническим опытом, чтобы настроить работу cron и svn repo на своих серверах.

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

Мои вопросы: кто-нибудь видит какие-либо недостатки в этом решении? Есть ли другие решения, которые могут быть лучше для того, что я пытаюсь сделать?

Я подумал об использовании Dropbox для синхронизации между всеми этими серверами, но я не хочу, чтобы поставщики могли вносить какие-либо изменения.

Мои цели:

  1. Облегчить обслуживание моих дизайнеров.
  2. Единовременная настройка для поставщиков и они всегда будут в курсе наши изображения.
  3. Наличие достойного резервного копирования / восстановления и Система отката на месте только в случай кризиса.

Ответы [ 2 ]

1 голос
/ 02 марта 2010

Ваше решение в целом имеет смысл, хотя я разделяю озабоченность по поводу размера репозитория с таким количеством изображений. На каком-то уровне система управления контентом, специально предназначенная для изображений, может иметь больше смысла (хотя я не знаю, какую из них рекомендовать).

Одна вещь, которую я бы предложил изменить, это то, что если поставщики действительно не должны иметь возможность редактировать / фиксировать файлы, вы можете подумать о настройке запланированного задания для экспорта в файловую систему (которое затем доступно через FTP / HTTP / и т.д.). Если поставщики выполняют проверку, это означает, что вместо этого у них будут все накладные расходы на рабочую копию. (Затем вы сталкиваетесь с вопросом «Что это за каталоги .svn и что это за другие файлы?»)

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

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

Единственное, что мне не очень нравится, это использование subversion для хранения изображений. Это работает, но каждое изменение будет храниться не как дельта, а как новый файл. Это может не беспокоить вас.

Кроме того, использование rsync позволит вам легко переносить только измененные файлы, сохраняя пропускную способность. Также вам может понадобиться использовать SSH для переводов.

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

...