Является ли ASP.Net State Server элегантным решением?

У нас есть проект ASP.Net MVC, который начнется с одного веб-сервера, но, скорее всего, вскоре превратится в небольшую веб-ферму. Поскольку ASP.Net Authentication хранит идентификатор пользователя, и кеширование данных также может быть полезным, нам, вероятно, потребуется довольно скоро перейти на сервер состояний.

Я хотел бы услышать от других, как работает State Server и как он масштабируется с точки зрения производительности.

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

Обновление: у меня была некоторая дезинформация ранее (от технического консультанта Microsoft...), Auth не сохраняет в сеансе, как я думал, он просто сохраняет в куки. Таким образом, в этой ситуации нам не понадобится государственный сервер.

1 ответ

Решение

Приложение без сохранения состояния (без сеанса) будет более масштабируемым. Используя ASP.NET FormsAuthentication, идентификатор пользователя хранится в зашифрованном cookie, который доступен при каждом запросе, и вы можете получить информацию о пользователе из хранилища данных. Для дальнейшего повышения производительности вы можете кэшировать результаты некоторых дорогих запросов. В идеале этот кеш должен быть распределен по ферме серверов кеша. Например, вы можете использовать memcached, у которого есть провайдер для ASP.NET.

Другие вопросы по тегам