У меня есть веб-приложение, написанное на asp.net mvc2. В настоящее время размещено на Amazon Cloud ec2. Из-за растущего трафика мы хотим переместить среду с несколькими экземплярами. У меня есть собственный класс сеанса, который в настоящее время запускается при запуске сеанса (глобальный asax), и я использую через класс геттера или сеттера в приложении. Из-за рутинной работы с несколькими экземплярами мне приходится обрабатывать архитектуру безопасности дыр. Я ищу лучший способ решить эту проблему.
Я ищу хорошую реализацию сеанса и способы применения в среде с несколькими экземплярами amazon ec2. Что препятствует развитию системной архитектуры?
У нас есть наше веб-приложение, работающее на EC2, но это базовое приложение ASP.NET, а не MVC. Мы обошли проблему состояния сеанса, указав на обоих наших серверах окно SQL, с которым они все равно будут разговаривать, и использовали это для состояния сеанса. Другой вариант - использовать что-то вроде Memcached или Membase как состояние вашего сеанса и таким образом делитесь состоянием на нескольких машинах.
Единственное препятствие, о котором я могу думать, - это именование машин. Каждый экземпляр будет меняться при перезагрузке, поэтому вам нужно будет сделать следующее:
Eсть Состояние сеанса Memcached и поставщик кеша на CodePlex что должно легко помочь вам делать то, что вам нужно.
Опять же, способ, которым мы это обошли, был SQL-сервером ... Нам было проще настроить его, но я не исключаю возможности использования memcache / memase в ближайшее время ...