Файловое хранилище приложения ASP.NET SaaS: пути к буквам дисков или пути UNC - PullRequest
0 голосов
/ 21 августа 2009

Часть файловой системы нашей прикладной среды asp.net требует обновления, чтобы соответствовать нашему подходу SaaS / Multi-Tenancy и, в частности, в отношении расширения.

Наша текущая файловая система хранит файлы на диске в отдельных папках для каждого арендатора.

т.е.: X: \ FilesFolder \ ApplicationInstance \ TenantA и т. Д., Где имена Арендатора и имена файлов являются Guids. У нас есть HttpHandler, который извлекает файлы и разрешает все пути и имена и возвращает исходные имена файлов и т. Д. Мы храним корневой путь для каждого Арендатора, то есть: X: \ FilesFolder \ ApplicationInstance \, исходя из того, что мы можем в какой-то момент переместить их и в другие места, если требуется.

Что касается проблем с масштабированием этой системы, у меня есть несколько вопросов ... (прошу прощения за мое незнание со стороны аппаратной / оконной инфраструктуры, и мои вопросы больше касаются реализации обновления кода нашей файловой системы)

1) Кажется очевидным, что все файлы должны храниться на устройстве NAS?

2) Если мы добавим устройство NAS и создадим ферму серверов, нужно ли нам запускать контроллеры домена? и как это влияет на ссылки на пути?

Изменить: Обнаружено, что домены не требуются для ферм серверов, и это здорово, но пока не уверен, как это влияет на используемые пути и т. Д.

3) Должны ли мы использовать пути букв дисков (подключенные диски) или пути UNC?

4) Есть ли снижение производительности при обращении к UNC вместо имен букв дисков (даже на одном компьютере)

5) Какие проблемы с разрешениями мы можем ожидать и как этот эффект работает в домене или нет?

Edit: Наличие домена облегчило бы доступ, но все еще не знает, в чем различия.

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

Спасибо

1 Ответ

2 голосов
/ 21 августа 2009

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

...