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

如今,许多 ASP.NET 应用程序都部署在多区域(多数据中心)环境中,无论是在云端还是本地。对于这些应用程序,您通常需要将用户从一个区域(数据中​​心)重定向到另一个区域(数据中​​心)。然而,您不能承受在此过程中丢失任何 ASP.NET 会话状态。

此类多区域部署通常倾向于将用户会话保留在其创建时所在的同一区域。本质上,它们不会在用户请求层面进行跨区域负载均衡。但是,出于以下原因,您经常需要将用户迁移到其他区域:

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

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

然而,在许多情况下,跨区域复制所有 ASP.NET 会话可能没有必要——尤其是在您只转移 10% 到 20% 的用户的情况下。在这种情况下,您可能只希望 ASP.NET 会话状态 移动 or 关注用户 当它们被从一个区域重定向到另一个区域时,就会发生这种情况。 NCache 为不需要完全数据同步的多区域架构提供理想的成本优化策略。

特性 完整广域网复制 多区域会话提供商
策略 主动-主动同步 按需迁移
带宽使用情况 (持续后台同步) 最小 (仅移动重定向用户)
首要目标 全球灾难恢复 (DR) 区域负载均衡与维护
技术实施 服务器端桥接配置 客户端 web.config 设置
最适合 应用程序数据/通用状态 ASP.NET 会话状态(10-20% 重定向)

此 NCache 提供者 能够处理所有此类情况。它允许您指定您的 web.config中 文件,然后当用户被重定向到另一个区域时,他们的 ASP.NET 会话将从源区域分布式缓存移动到目标区域分布式缓存。

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

NCache 架构图展示了如何通过 WAN 在主区域缓存和辅助区域缓存之间迁移 ASP.NET 会话,以实现不间断的用户体验。
NCache 使用主缓存和辅助缓存逻辑的多区域 ASP.NET 会话状态流。

此 NCache 多区域会话提供程序使用“镜像”逻辑来维护跨全球数据中心的会话连续性。这允许您在 ASP.NET 中定义一个主 ASP.NET 会话状态缓存和多个辅助 ASP.NET 会话状态缓存。 web.config中 如下。请注意,对于每个地区, “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”。然后,当用户被转移到另一个区域时,多区域 ASP.NET 会话状态提供程序 NCache 该区域中的 Session 注意到此 ASP.NET Session 来自另一个区域。并且,它连接到相应的 “secondaryCache” 并将 ASP.NET 会话移至其 “primaryCache” 因此可以从这里获取。

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

首先,无需编程即可使用 NCache 作为您的多区域 ASP.NET 会话状态提供程序。您只需修改您的 web.config中 并指定 NCache 作为您的会话状态提供程序 (SSP)。请参阅配置页面 多区域 ASP.NET 会话状态提供程序。 该 NCache 多区域会话提供程序通过消除广域网复制开销并确保跨区域故障转移期间 100% 的会话持久性来优化应用程序性能。主要优势包括:

  1. 不需要 WAN 复制: 因为大多数 ASP.NET 会话不会在多个区域中被引用。 广域网复制 它会消耗一定的带宽。因此,它更适合用作应用程序数据缓存。
  2. 跨区域高可用: 现在,您可以关闭数据中心,而不会对其任何用户造成负面影响。只需将用户全部重定向到其他区域,然后 NCache 无缝移动他们的 ASP.NET 会话。
  3. 跨区域可扩展性: 如果任何地区不堪重负,您不仅可以将新用户重定向到其他地区,还可以将现有用户重定向到其他地区,而不会丢失他们的 ASP.NET 会话。 NCache 无缝移动他们的 ASP.NET 会话。

接下来做什么

常见问题

不困难, NCache 它充当专门的会话状态提供程序 (SSP),完全通过以下方式实现: web.config中 更新功能允许无缝集成,而无需修改应用程序源代码。

当用户被重定向时, NCache 提供商使用以下方式识别会话属于不同的数据中心: sid前缀然后,它连接到源区域的二级缓存,并将会话数据移动到本地主缓存,以确保用户连续性。

而 NCache 支持完全 WAN 复制,多区域提供商通常是一种更具成本效益的策略,因为它只为实际重定向的 10-20% 的用户移动会话数据,从而显著降低跨区域带宽消耗。

NCache 使用唯一的会话 ID 前缀,称为 sid前缀分配给每个区域 web.config中 文件。当用户被重定向时,提供商会检查此前缀以确定源区域,然后从相应的二级缓存中拉取会话。

联系我们

联系电话

+1 214-619-2601 (美国)

+44 20 7993 8327 (英国)

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