多区域 ASP.NET 会话状态提供程序,用于 NCache

如今,许多 ASP.NET 应用程序都部署在云端或本地的多区域(多数据中心)配置中。 而且,使用这些应用程序,您通常需要将用户从一个区域(数据中​​心)重定向到另一个区域。 但是您不能在此过程中丢失任何 ASP.NET 会话状态。

多区域部署通常更喜欢将用户会话保留在创建它们的同一区域中。 本质上,他们不参与用户请求级别的跨区域负载均衡。 但是,由于以下原因,您经常需要将用户吸引到其他区域:

- 如果一个区域不堪重负,则跨区域平衡负载
- 关闭一个区域进行维护

但是,您不能以丢失 ASP.NET 会话状态的方式执行任何此类操作。 解决此问题的一种方法是将所有 ASP.NET 会话复制到多个区域。 NCache 为此提供了 WAN 复制功能。

但是,在许多情况下,您可能不想复制所有的 ASP.NET 会话,以便增加 10-20% 的用户。 相反,您只希望 ASP.NET 会话状态在用户从一个区域移动到另一个区域时“移动”。

多区域 ASP.NET 会话状态提供程序 NCache 拥有处理所有此类案件的智慧。 它允许您在 web.config 文件中指定所有区域,然后当用户被重定向到另一个区域时,他的 ASP.NET 会话将从源区域分布式缓存移动到目标区域分布式缓存。

NCache 是一个非常快速和可扩展的.NET 开源分布式缓存。 它通过允许您在运行时添加更多缓存服务器并线性扩展来处理极端事务负载。 NCache 还提供智能缓存复制,因此如果 Web 服务器或缓存服务器出现故障,您不会丢失任何 ASP.NET 会话状态。

文件: 多区域 ASP.NET 会话状态提供程序,用于 NCache


镜像缓存

NCache 允许您在 ASP.NET web.config 中定义一个主要和多个辅助 ASP.NET 会话状态缓存,如下所示。 请注意,对于每个区域,“primaryCache”是不同的。

<ncache>
  <sessionLocation>
    <primaryCache id="LondonCache" sid-prefix ="LDC"/>
    <secondaryCache id="NewYorkCache" sid-prefix="NYC"/>
    <secondaryCache id="TokyoCache" sid-prefix="TKC"/>
  </sessionLocation>
</ncache>

所有 ASP.NET 会话最初都存储在它们的“primaryCache”中。 然后,当用户被撞到另一个区域时,Multi-Region ASP.NET Session State Provider for NCache 在那个区域注意到这个 ASP.NET 会话来自另一个区域。 并且,它连接到相应的“secondaryCache”并将 ASP.NET 会话移动到它的“primaryCache”,因此它可以从这里获得。

多区域 ASP.NET 会话状态提供程序的好处 NCache

首先,无需编程即可使用 NCache 作为您的多区域 ASP.NET 会话状态提供程序。 您只需修改您的 web.config 并指定 NCache 作为您的会话状态提供者 (SSP)。 查看详情 为多区域 ASP.NET 会话状态提供程序配置 NCache. 以下是使用的一些好处 NCache 作为您的多区域 ASP.NET 会话状态提供程序:

  1. 不需要 WAN 复制: 由于大多数 ASP.NET 会话不会在多个区域中被引用,因此通常不需要跨 WAN 复制它们,因为您可以将它们中的 10-20% 转移到其他区域。 广域网复制 有与之相关的带宽消耗成本。 WAN Replication 更适合应用程序数据缓存。

  2. 跨区域高可用: 您现在可以关闭一个区域(数据中​​心),而不会对其任何用户产生负面影响。 只需将它们全部重定向到其他区域并 NCache 无缝移动他们的 ASP.NET 会话。

  3. 跨区域可扩展性: 如果任何区域(数据中​​心)不堪重负,您不仅可以将新用户也可以将现有用户重定向到其他区域,而不会丢失他们的 ASP.NET 会话。 NCache 无缝移动他们的 ASP.NET 会话。


接下来做什么

联系我们

联系电话
©版权所有 Alachisoft 2002 - 版权所有。 NCache 是 Diyatech Corp. 的注册商标。