Мне нужно настроить веб-сайт с балансировкой нагрузки, чтобы разместить больше посетителей,
Я видел на форумах, что varnish (balance) -> apache (web1 & 2) -> mysql (dbserver) - это лучший способ.
Я знаю, как настроить varnish-> single webserver-> mysql, но не два веб-сервера для балансировки,
Но как я могу синхронизировать содержимое обоих веб-серверов в реальном времени? мое пользовательское приложение позволяет посетителям публиковать файлы.
Посоветуйте, пожалуйста, как это настроить?
Моя установка.
(internet)
|
(load balance server)
/ \
/ \
(webserver1) (webserver2)
\ /
(database server)
Спасибо.
Если тебе действительно нужно в реальном времени Для репликации всех загруженных файлов вам понадобится распределенная файловая система, такая как GlusterFS, или используйте установку DRBD / ocfs2.
В противном случае я бы выбрал csync2 или простой сценарий rsync.
Я бы посоветовал взглянуть на csync2 для синхронизации ваших веб-серверов. Он разработан специально для обеспечения синхронизации кластерных хостов, и вы можете настроить его для автоматической обработки конфликтов.
Csync2 был разработан для синхронизации файлов конфигурации, но я не вижу причин, по которым вы не могли бы использовать его также для синхронизации загруженных данных.
Вы можете, как предлагал KM, создать общий сетевой ресурс (например, общий ресурс NFS) и публиковать туда все загрузки, но вам нужно убедиться, что сервер NFS является достаточно избыточным, чтобы не отключать оба веб-сервера, если что-то пойдет не так.
Видеть Балансировка нагрузки с помощью Varnsih или HAProxy. Для синхронизации загруженных файлов рассмотрите создание общего сетевого ресурса, подключенного к обоим хостам, куда пользователи могут загружать файлы.