Назад | Перейти на главную страницу

Рекомендации по развертыванию приложений веб-фермы

У нас есть веб-ферма, на которой размещено несколько приложений ASP.Net. У нас в ферме обычно 4 сервера.

Дилемма, с которой я столкнулся, связана с проблемой мощности фермы. Допустим, у меня сейчас 200 приложений. Должен ли я развернуть все 200 приложений на всех 4 серверах (т.е. все серверы в ферме идентичны) или я должен разделить приложения между 2 наборами серверов и создать 2 фермы меньшего размера, чтобы затем я мог управлять приложением в зависимости от его критичности и использование и т. д.

Мы будем очень признательны за любые передовые практики в этой области.

Спасибо

Rauts

Хороший вопрос. Это не лучшая практика, поскольку это действительно зависит от вашего приложения. Следует учитывать, что у вас часто возникают накладные расходы на кэш ОЗУ, поэтому наличие сайта на 4 серверах может дублировать кеш в памяти 4 раза. Так что, если он не нужен на всех 4 узлах, просто установите его на 2 для избыточности.

Кроме того, если у вас есть проблемные сайты с непредсказуемым вводом-выводом ЦП, ОЗУ или диска, вы можете изолировать его до собственной мини-фермы. В этом нет правильного или неправильного.

В некоторых случаях мне нравится создавать веб-фермы, которые имеют полную конфигурацию для нескольких сайтов, но только некоторые из них активны на каждом узле. В вашем примере вы можете разместить все 200 приложений на всех 4 серверах, синхронизируя конфигурацию с общей конфигурацией. Затем, используя ваш балансировщик нагрузки (могу я предложить ARR), пусть каждое приложение будет активным на 1 или 2 узлах одновременно. Это снижает общие требования к памяти, давая вам гибкость, позволяющую вводить и выводить узлы по своему желанию или раскручивать сайт на большем количестве узлов в короткие сроки. Вы даже можете оставить 4-й узел в качестве опции для проблемных сайтов.

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

Что бы вы ни делали, делайте это обдуманно и убедитесь, что это выполнимо.