Что плохого в запуске веб-приложения IIS из общего ресурса UNC, как это предлагается в документации DotNetNuke?

В прошлом меня учили, что неразумно запускать веб-приложение из общего ресурса UNC. Причины, которые я помню, - это проблемы с безопасностью, правами и авторизацией, а также производительность. Однако в документации DotNetNuke говорится:

Конфигурация веб-фермы, которую изначально поддерживает DotNetNuke, включает два или более интерфейсных веб-сервера («веб-серверов»), чьи корневые каталоги веб-сайтов IIS сопоставлены с общим общим ресурсом UNC на удаленном файловом сервере. Общий ресурс UNC содержит исходный код приложения, а также любой статический контент для отдельных сайтов.

Каким-то образом это звучит для меня как конфигурация для бедняков, и я чувствую, что открываю потенциальный ящик Пандоры. Разумно ли последовать предложению DotNetNuke Corp здесь?


person Abel    schedule 14.07.2011    source источник


Ответы (2)


Есть несколько вещей, которые могут стать проблематичными, когда дело доходит до этого типа конфигурации с DOtNetNuke.

  1. Этот метод, хотя сценарий «веб-фермы» приводит к единой точке отказа. Общий ресурс UNC становится вашим узким местом, и если он выходит из строя, все узлы выходят из строя.
  2. Дисковый ввод-вывод и настройка сетевого взаимодействия могут быть проблемой. Это связано с количеством «Наблюдателей за файловой системой», которые могут быть открыты / поддержаны для удаленного содержимого. Эта проблема не является большой проблемой в БОЛЬШИНСТВЕ случаев, но может быть королевской PITA, когда это происходит.
  3. Безопасность может быть проблемой, но обычно это то, с чем у вас возникают проблемы в начале настройки. Вы должны быть уверены, что правильно назначаете разрешения для учетной записи пользователя, чтобы она могла иметь полный доступ к общему ресурсу UNC.

Мое предположение относительно того, почему это "стандартная" рекомендация корпорации DotNetNuke, объясняется следующим. ПРИМЕЧАНИЕ: это ТОЛЬКО мои мнения.

  1. Эта конфигурация обеспечивает «наименьшие» сложности, когда дело доходит до синхронизации контента в реальном времени. При использовании только одной файловой системы нет необходимости говорить о репликации и тому подобном.
  2. Кэширование по умолчанию использует кеширование на основе файлов, при этом легко управлять одинаковым истечением срока действия системного кеша. Если воспроизвести, это не сработает.
person Mitchel Sellers    schedule 14.07.2011
comment
Думаю, у меня также сложилось впечатление, что использование партии в каждой системе даст мне возможность обновить одну, оставить другую работающей, а затем обновить другую, имея 100% время безотказной работы во время обновления. Использование UNC создает единую точку отказа, как вы также упоминали в (1). - person Abel; 22.07.2011
comment
Ваш сценарий обновления также не будет работать, поскольку база данных будет обновлена, а файлы сайта - нет, что поставит систему в подвешенное состояние. - person Mitchel Sellers; 22.07.2011
comment
Хороший момент, думаю, сценарий следует проработать, и преемственность в это время просто не вариант, если только мы не рассмотрим совершенно другой и более сложный сценарий. Это принятый ответ, но много информации также содержится во втором ответе ScottS. Спасибо вам обоим. - person Abel; 24.07.2011

Нет ничего плохого в использовании общего ресурса UNC. В предыдущей компании у нас были десятки веб-серверов, и все они использовали общие ресурсы UNC (а не DNN). Платных подписчиков было более 80 тысяч, из которых 10 тысяч использовали приложения каждый день. Это сработало очень хорошо.

Чтобы ответить на вопросы Митчела:

1.) Единственная точка отказа - это проблема, только если вы сделаете это проблемой. В различных решениях SAN / NAS имеется много возможностей резервирования.

2.) IO не будет проблемой для любого приличного SAN или NAS. У меня никогда не было проблем со наблюдателями файловой системы. DNN не использует их напрямую, и в том маловероятном случае, если встроенные наблюдатели ASP.Net создадут проблему, я, вероятно, отключу их.

3.) Я не считаю безопасность более серьезной проблемой, чем любое другое решение. Вы должны быть уверены, что контролируете доступ к своим файлам и устанавливаете разрешения соответствующим образом. С локальными дисками вы можете оставить разрешения более открытыми, чем в сети, но, вероятно, вам следует одинаково хорошо защитить и то, и другое. Существует дополнительный шаг настройки, связанный с использованием пути UNC. Дополнительные усилия по настройке безопасности будут незначительными по сравнению с неделями, если не месяцами усилий, затраченных на создание сайта, достойного веб-фермы.

Я полностью согласен с мнением Митчела о том, почему бы не использовать синхронизацию файлов.

Я знаю, что есть люди, которые запускают сайты DNN с синхронизацией файлов. Я не знаю никого, кому бы не приходилось решать проблемы, вызванные синхронизацией файлов. Лично я сомневаюсь, что обеспечение хорошей работы сайта с синхронизацией файлов дешевле, чем использование UNC в сети SAN, если посчитать трудозатраты на устранение причуд синхронизации файлов.

person ScottS    schedule 14.07.2011
comment
Спасибо за разъяснение по пунктам Митчела. Однако SPoF остается проблемой независимо от выбранного решения SAN / NAS, то есть при обновлении основного веб-сайта. - person Abel; 22.07.2011
comment
@ScottS - что касается № 2, это не проблема с SAN, это ограничение WINDOWS на количество наблюдателей за файлами (кэширование на основе файлов и мониторинг процессов ASP.NET) - person Mitchel Sellers; 22.07.2011