Назад | Перейти на главную страницу

Синхронизация файлов через серверы (debian) путем загрузки файла с помощью PHP

У меня есть 3 веб-сервера для моего PHP-приложения. Перед веб-серверами есть балансировщики нагрузки. В моем приложении есть форма для загрузки изображения. Мне нужно, чтобы любое загруженное изображение через мою форму было одновременно на всех 3 веб-серверах. Я пытаюсь думать о разных способах, но не могу решить, какое решение идеально подходит для производственной среды. Кстати, все мои серверы - это Debian Squeeze.

Не могли бы вы предложить мне новые идеи или просмотреть мои идеи ниже:

  1. Сценарий PHP может сохранять изображения три раза: одно на локальном сервере и 2 других веб-сервера через общий сетевой ресурс или что-то еще.

  2. PHP может сохранять изображение в локальной файловой системе и инициировать операцию rsync для отправки загруженного файла на два других сервера.

  3. Папка загрузки может находиться только на одном из веб-серверов. На двух других серверах папка загрузки может быть удалена по ssh (с предохранителем или чем-то еще). (Но с этим вариантом я должен пойти на риск единой точки отказа. Это плохо)

  4. Изображения могут быть сохранены на другом сервере, таком как серверы БД (MySQL, PostgreSQL), но я не хочу, чтобы изображения находились в БД.

Есть что предложить?

Спасибо угур

Я использую:

  • rsync + incrond почти в реальном времени
  • DRBD + ocfs2 как общее хранилище

О варианте 3 ': вы можете построить высокодоступный NFS-сервер с DRBD и Pacemaker.