Как кластеризовать папку загрузки с ASP.Net? - PullRequest
4 голосов
/ 22 августа 2008

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

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

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

Ответы [ 4 ]

1 голос
/ 22 августа 2008

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

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

Два из рассмотренных нами продуктов: ViceVersa и PeerSync . Я думаю, что мы в конечном итоге использовали PeerSync.


1 голос
/ 22 августа 2008

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

0 голосов
/ 22 августа 2008

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

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

0 голосов
/ 22 августа 2008

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

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

...