我们有一个 ASP.Net MVC 项目,该项目将从单个 Web 服务器开始,但可能很快就会扩展到一个小型 Web 场。由于 ASP.Net 身份验证存储用户 ID,并且数据缓存也可能有用,因此我们可能需要很快跳转到状态服务器。

我想听听其他人如何使用 State Server 以及它如何从性能角度进行扩展。

或者,我们可以通过不使用数据缓存和使用加密 cookie 跟踪会话来将其构建为完全无状态。

更新:我之前有一些错误信息(来自微软技术顾问...),Auth 并不像我想象的那样存储在会话中,它只是存储在 cookie 中。因此,在这种情况下我们最终不需要状态服务器。

有帮助吗?

解决方案

完全无状态(无会话)的应用程序将更具可扩展性。使用 ASP.NET 表单身份验证, ,用户 ID 存储在加密的 Cookie 中,每次请求都可以使用该 Cookie,并且您可以从数据存储中获取用户信息。为了进一步提高性能,您可以缓存一些昂贵的查询的结果。理想情况下,该缓存将分布在缓存服务器群中。例如你可以使用 内存缓存 其中有一个 ASP.NET 的提供者.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top