У меня есть ферма приложений, которая генерирует эскизы и делает их доступными для фермы веб-серверов с помощью nfs. Однако производительность настолько низкая, что я собираюсь сделать локальную копию файлов на каждом веб-узле.
Я посмотрел на unison и lsync, но, похоже, в репозитории CentOS5.5 нет числа оборотов в минуту.
какую из них я должен использовать, или какую-то другую стратегию Мне крайне необходимо, чтобы синхронизация выполнялась немедленно, так как пользователю нужно сразу отображать эскиз на веб-странице, поэтому инструменты на основе inotify - это хорошо!
Изменить: когда я говорю немедленно, я имею в виду, что вытолкнули, а не потянули по какому-то графику.
В конце концов, lsync выпустил еще несколько версий, поэтому я использовал их, и lsync работает хорошо после запуска (т.е. синхронизируется за несколько секунд), однако ему необходимо заранее перечислить каждый каталог, а для очень большой файловой системы требуется много часов. ..
Мне крайне необходимо, чтобы синхронизация была немедленной, так как пользователю нужно сразу отображать эскиз на веб-странице
Значит, вы не можете контролировать соответствие сервера при балансировке нагрузки? Пора обзавестись новым балансировщиком нагрузки.
Я посмотрел на unison и lsync, но, похоже, в репозитории CentOS5.5 нет числа оборотов в минуту.
Раньше я делал это, встраивая репликацию в приложение - в конце концов, это первое, что нужно знать, когда нужно реплицировать новый контент - это было всего несколько строк PHP, чтобы опубликовать уведомление для других узлов, что контент нуждался в выборке - когда узел какое-то время находился в автономном режиме, я запустил rsync, прежде чем полностью вернуть его в оперативный режим (такой подход делает работу с автономными узлами намного проще и ненавязчиво). Однако, если бы мне пришлось реализовать такую систему сегодня, я бы сделал это с использованием наложенных файловых систем - возможно, NFS в нижней части стека и копирования при доступе.
Смотрите также эта почта
HTH
С.
Недавно я установил unison версии 2.32.52 на один из моих компьютеров с CentOS 5.x.
В унисон важно отметить, что все на серверах, которые будут синхронизироваться вместе, должна быть установлена одна и та же версия. Unison не будет работать при подключении к другим более старым и новым версиям unison.
Для себя обнаружил, что эта частота вращения 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 минут.
Я не вижу ничего для этого в репозитории, но вы можете найти это incron
может быть полезно.