lsync, unison или какой-либо другой инструмент автосинхронизации inotify..?

У меня есть ферма приложений, которая генерирует миниатюры и делает их доступными для фермы веб-серверов с помощью nfs. Однако производительность настолько низкая, что я собираюсь сделать локальную копию файлов на каждом веб-узле.

Я посмотрел на unison и lsync, но кажется, что для репозитория centOS5.5 нет оборотов в минуту.

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

Редактировать: когда я говорю "немедленно", я имею в виду "вытесняют", а не вытягивают по какому-то графику

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

3 ответа

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

Таким образом, вы не контролируете близость сервера в балансировке нагрузки? Время получить новый балансировщик нагрузки.

Я посмотрел на unison и lsync, но кажется, что для репозитория centOS5.5 нет оборотов в минуту.

Ранее я делал это путем встраивания репликации в приложение - в конце концов, это первое, что нужно знать, когда необходимо реплицировать новый контент, - это всего лишь несколько строк PHP для публикации уведомления другим узлам о том, что контент нужно извлекать - когда какое-то время узел был в автономном режиме, я запустил rsync, прежде чем полностью перевести его в оперативный режим (этот подход делает обработку автономных узлов намного проще и не навязчивой). Однако, если бы я сегодня внедрил такую ​​систему, я бы использовал оверлейные файловые системы - возможно, NFS внизу стека и копировал при доступе.

Смотрите также этот пост

НТН

C.

Я ничего не вижу в хранилище, но вы можете найти это incron может быть полезным

Я недавно установил Unison версии 2.32.52 на одну из своих коробок CentOS 5.x.

При использовании unison важно отметить, что на всех серверах, которые будут синхронизироваться вместе, должна быть запущена одна и та же версия. Unison не будет работать, если он связан с другими версиями Unison, более старыми и новыми.

Для себя я обнаружил, что этот rpm http://rpmfind.net/linux/RPM/dag/redhat/el5/x86_64/unison-2.32.52-1.el5.rf.x86_64.html работает для меня на centos 5.8

Что касается lsync, я не смог бы рассказать вам много об этом, поскольку я никогда не использовал это лично. Однако я могу сказать, что при правильном использовании Unison - фантастический инструмент.

Вы можете установить Unison на crontab, чтобы проверять изменения каждые 1-10 минут.

Другие вопросы по тегам