Синхронизация файлов между двумя сбалансированными с загрузки серверами?

В PHP мы создаем различные файлы на наших серверах. Проблема, у нас есть два сервера, которые являются сбалансированной загрузкой. Каков был бы лучший способ сохранить созданные файлы в синхронизации между двумя? Есть ли некоторая обычная практика, о которой я только что никогда не слышал?

3
задан 05.05.2011, 00:58

0 ответов

1.: можно позволить ОС сделать работу. Принятие Вас использует среду Microsoft Windows, DFS был бы простым решением (с точки зрения административной работы). Необходимо настроить Контроллер домена, которому нужна версия R2 Windows Server (быть этим 2003 или 2008).

2.: не создавайте файлы на загрузке, сбалансированной собственный жесткий диск серверов. Необходимо разделить обработку файла от веб-сервера и использовать внешнее устройство хранения данных.

3
ответ дан 08.12.2019, 00:32

Совместно используемая память является способом пойти. Мы используем NAS для предоставления доступа к файлам доступными для всех серверов.

1
ответ дан 08.12.2019, 00:32

Ну, один способ синхронизация был бы простым с rsync. Что относительно двунаправленного? Я сделал быстрый Google, и кажется, что это возможно.

http://forums11.itrc.hp.com/service/forums/questionanswer.do?admit=109447626+1304547785383+28353475&threadId=1278777

В нижней части той ссылки это дает Вам метод.

0
ответ дан 08.12.2019, 00:32

Ваша подсистема балансировки нагрузки должна позволить Вам настраивать его так, чтобы все запросы от одного конкретного клиента всегда переходили к тому же сбалансированному с загрузки серверу. С включенным, любое время файл создается для клиента, это находится там по последующим запросам от того же самого клиента. Не работает так хорошо, тем не менее, если, например, Клиент A инициировал создание файла для Клиента B.

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

Наконец, Вы могли рассмотреть совместно использованное и/или копируемое устройство хранения данных. DFS в среде Windows является хорошим решением по репликации; NFS или SMB могли бы быть применимыми, или SAN; в основном все @karatedog упоминается.

Еще одна опция рассмотреть является центральным файлом решением для базы данных, таким как MongoDB, который в основном принимает форму базы данных, служащей централизованным хранилищем файлов. Поместите свои файлы там, и любой сервер может задержать их снова позже.

0
ответ дан 08.12.2019, 00:32

Теги

Похожие вопросы