Я запускаю Magento CE на нескольких веб-узлах. Серверная часть администратора всегда работает на одном сервере, поэтому все изображения загружаются на этот сервер. На моем
Самый простой способ - использовать rsync с inotify на вашем административном сервере, чтобы новые изображения мгновенно распространялись по другим узлам.
Приложение вроде http://code.google.com/p/lsyncd/ будет хорошо работать и производить репликацию почти в реальном времени.
Вы также должны иметь в виду, что в кластере вы будете изменять размер кэшированных изображений, сгенерированных на лету, поэтому также рекомендуется выполнить rsync
./media/catalog/product/cache
каталог циркулярно между всеми узлами. Это не требует inotify и может работать через ~ 10 минут cron.
Этот метод, очевидно, будет становиться все более и более неэффективным по мере роста вашего медиа-каталога.
Однако, если ваш сайт настолько велик, что для начала требуется кластер, разумно использовать CDN для всех носителей. Magento поддерживает множество поставщиков CDN.
Когда дело доходит до файлов кеширования, одним из эффективных способов является использование общего тома NFS и монтирование его на всех веб-серверах. Таким образом, вы можете гарантировать доступность кэшированных файлов для всех веб-серверов, и даже это поможет, если вы хотите их очистить.
Моя лучшая установка - смонтировать / var и / media через nfs на всех веб-узлах, так как php не будет выполняться (поскольку старая ошибка php работает через nfs), а затем lsyncd остальные папки на веб-узлы. Это обеспечит производительность и репликацию медиа.