вопрос балансировки нагрузки c # asp.net - PullRequest
0 голосов
/ 28 сентября 2010

Место, где я работаю, имеет 2 сервера и балансировщик нагрузки.Установка ужасна, так как я должен вручную убедиться, что оба сервера имеют одинаковые файлы.Я знаю, что есть способы автоматизировать это, но оно не было реализовано, надеюсь, скоро (я не могу это контролировать).Я написал приложение, которое собирает кучу информации от пользователя, а затем создает папку с именем электронной почты пользователя на одном из серверов.Проблема в том, что я не могу контролировать, на каком сервере создается папка, так что, скажем, пользователь входит ... заполняет свои данные, и его папка создается на сервере 1, пользователь на некоторое время уходит и возвращаетсясайт, но на этот раз балансировщик нагрузки выбрасывает пользователя на сервер 2, теперь пользователь делает что-то, что нужно сохранить в его папке, но так как он не был создан на этом сервере, возникает ошибка.Что я могу сделать по этому поводу?какие-либо предложения?

Спасибо

Ответы [ 5 ]

2 голосов
/ 28 сентября 2010

Похоже, вы могли бы решить несколько проблем, внедрив облачную файловую службу для записи файлов, например Amazon S3 http://aws.amazon.com/s3/

  1. Управление размером диска больше не будет проблемой
  2. Файлы теперь записываются и считываются с S3, поэтому проблемы балансировки нагрузки решены
  3. Преимущества полуграновой сети с AWS.(не совсем лучший, но по моему опыту лучше, чем большинство внутренних решений)
2 голосов
/ 28 сентября 2010

Не храните ваши данные в файловой системе, храните их в базе данных.

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

0 голосов
/ 25 декабря 2010

Используйте NAS или SAN для централизации хранилища.То же самое доступное по сети хранилище может хранить общую конфигурацию, которую IIS может настроить для использования.

Web Deploy v2, только что выпущенный от Microsoft, я хотел бы поощрять полномочия по его расследованию наряду с маршрутизацией запросов приложений ибольшая веб-ферма Framework.

0 голосов
/ 28 сентября 2010

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

  1. Если у вас есть доступное сетевое хранилище (например, Netapps), вы можете использовать это хранилище для централизованного хранения всех ваших пользовательских файлов, которые нужныбыть доступным на всех серверах вашей веб-фермы.
  2. Редизайн приложения для хранения всех пользовательских данных в базе данных.
0 голосов
/ 28 сентября 2010

Похоже, у вас проблема с состоянием сеанса.Это звучит странно, как вы описываете это, но взгляните на эту статью.Это старый, но охватывает основы.Если не попробовать поискать "веб-ферму состояния сеанса asp.net"

http://ondotnet.com/pub/a/dotnet/2003/03/24/sessionstate.html

...