Наличие четырех интерфейсных серверов, которые совместно используют одни и те же файлы и каждый из которых способен писать без использования какой-либо DFS или сторонней программы, предназначенной для синхронизации каталогов, было бы непростой задачей.
С лазурью вы можете смотреть на 3 вещи.
Общее хранилище, может потребоваться некоторая стоимость, связанная с получением собственного выделенного хранилища, и я не уверен в конфигурации, однако Azure действительно предлагает это. Это обеспечит доступность всех ваших файлов для каждого сервера, как только они будут записаны.
Azure DFS, DFS - это инструмент синхронизации каталогов на основе Windows, который работает довольно хорошо, также не уверен в стоимости, но настройка может быть немного проще. DFS работает асинхронно, поэтому есть небольшая задержка, но не большая.
(Я собираюсь объяснить, как это будет сделано, а затем никогда больше об этом не говорить, потому что это ужасная идея, и она потерпит неудачу.) Создайте сценарий, который сначала сравнивает данные на всех четырех серверах, а затем копирует дифференциальные данные. Вам нужно будет предоставить общий доступ к каждому каталогу одному серверу, на котором выполняется сценарий, настроить разрешение, чтобы сервер мог читать и писать, а затем устранять неполадки, устранять неполадки.
Любой из вышеперечисленных вариантов сделает эту работу, если ваша работа зависит от этой работы, я бы порекомендовал вам держаться подальше от варианта 3.
При этом, и вы не пытаетесь тратить деньги, следуйте инструкциям ниже.
посмотрите на программу под названием "бесплатная синхронизация файлов". В бесплатной версии есть несколько действительно хороших функций, я считаю, что есть платная версия, но я не уверен в улучшениях, которые вы получаете. Я использовал его во многих моих средах разработки, когда пытался достичь чего-то похожего на то, что вы хотите сделать, и ленился настраивать DFS.
Сделать доступным для записи только один сервер, это можно легко сделать, настроив URI на каждом сервере, который сообщает, если создать статью перейдет на ServerA, или переписать URL-адрес в вашем web.config, или если WordPress используется php:
заголовок ('Location: http://myhost.com/mypage.php ');
Каждый займет немного программирования и знания PHP, IIS.
- Действительно забавная часть, поскольку ServerA является авторским сервером (только для записи), как мы направляем трафик на ServerB, ServerC и ServerD для чтения без балансировщика нагрузки?
Короткий ответ, который вы не можете, ну, это не совсем верно, однажды у меня был клиент, который был непреклонен в том, чтобы не использовать загрузочный балансировщик, он смог через серию сценариев PowerShell переместить соединение с одного сервера на другой в зависимости от количества рабочие процессы на каждой коробке или что-то в этом роде. В любом случае это очень сложно сделать, и не стоит тратить время и силы на это.
Посмотрите, не можете ли вы настроить балансировку сетевой нагрузки на серверах. Для этого потребуется дополнительный IP-адрес, но только одно изменение DNS и трафик может быть распределен для чтения между 3 серверами.
Удачи!