Вопрос

У нас есть ситуация, когда пользователям разрешается загружать контент, а затем отдельно вносить некоторые изменения, а затем отправлять форму на основе этих изменений.

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

Кто-нибудь сталкивался с этим в прошлом?И какие решения вам удалось разработать?Очевидно, что сохранение доступа к базе данных является одним из вариантов, но мы бы предпочли избежать этого.

Это было полезно?

Решение

На прежней работе у нас был кластер веб-серверов с балансировщиком нагрузки F5 перед ними.У нас была очень похожая проблема в том, что наши приложения позволяли пользователям загружать контент, который мог включать фотографии и тому подобное.Это были устаревшие приложения, и мы не хотели редактировать их для использования базы данных, а решение SAN было слишком дорогим для нашей ситуации.

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

Двумя из рассмотренных нами продуктов были Наоборот и Одноранговая синхронизация.Я думаю, что в итоге мы использовали PeerSync.


Другие советы

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

Лучшим решением для этого обычно является предоставление общей области в какой-либо форме SAN, которая будет доступна со всех серверов и содержать отказоустойчивость.

Это также имеет то преимущество, что вам не нужно обеспечивать "липкую балансировку нагрузки", загрузка может обрабатываться одним сервером, а редактирование - другим.

Общая сеть SAN с отработкой отказа - отличное решение с большой (высокой) стоимостью.Существуют ли какие-либо аналогичные решения с отказоустойчивостью по разумной цене?Может быть, что-то вроде DRBD для Windows?

Проблема с простой общей файловой системой заключается в отсутствии избыточности (что, если файловый сервер выйдет из строя)?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top