Microsoft Azure 为云中的 ASP.NET 应用程序提供了一个平台。 很多时候,这些应用程序本质上是高事务和关键任务。 因此,这些应用程序的可扩展性非常重要,并且在 Web 服务器随时出现故障时不会导致数据丢失。
NCache 更多信息 .NET 中的分布式缓存 高可用 NCache
ASP.NET 会话状态存储选项
ASP.NET 会话状态 需要存储在某个地方,其存储成为主要的性能和可扩展性瓶颈。 在 Microsoft Azure 中,您可以将 ASP.NET 会话状态存储在 InProc、Azure 表、SQL 数据库或分布式缓存中。
进程内
InProc 会话存储选项在 Microsoft Azure 体系结构中效果不佳。 首先,在 InProc 模式下,ASP.NET 会话状态不会在 Web 角色的多个实例之间共享。 其次,您最终会在 Microsoft Azure 中使用粘性会话,这可能会导致负载分布不均。 此外,粘性会话涉及您的额外配置,因为 Microsoft Azure 默认情况下不使用粘性会话。 此外,任何因故障或维护而宕机的 Web Role 实例都会导致会话数据丢失,这显然是不可接受的。
天蓝色表
Azure 表存储是一个基于文件的 ASP.NET 会话状态提供程序,它作为代码示例“按原样”提供,这意味着它不受 Microsoft 官方支持。 它旨在存储结构化的实体。 尽管它是一个更便宜的选择,但它仍然不是存储 ASP.NET 会话状态的理想位置,主要是因为它是基于文件的性能。
SQL数据库
Microsoft Azure SQL 数据库也可以通过使用传统的 ASP.NET SQL Server 模式作为 ASP.NET 会话状态的存储。 但是 ASP.NET 会话状态对象作为 BLOB 存储在数据库中,而关系数据库从未真正为 BLOB 存储而设计。 这会导致性能问题,并且绝对是 Microsoft Azure ASP.NET 应用程序的主要可扩展性瓶颈。
分布式缓存
分布式缓存为 Microsoft Azure 中的 ASP.NET 会话状态提供了理想的存储。 例如,您可以使用 NCache 对于 Azure 这是用于 .NET 应用程序的 Microsoft Azure 分布式缓存。 与上述所有其他 Microsoft Azure 选项相比,它速度极快且可扩展性更强,并且它还复制会话,因此即使缓存服务器出现故障也不会丢失数据。 此外,您消除了与会话共享相关的所有问题,并使用相等的负载平衡来确保充分利用所有 Azure Web 角色实例。
插件 NCache 作为您的 ASP.NET 会话状态提供程序。 NCache 是一个非常快速和可扩展的开源 .NET 的分布式缓存. 它通过允许您在运行时添加更多缓存服务器并线性扩展来处理极端事务负载。 NCache 还提供智能缓存复制,因此如果 Web 服务器或缓存服务器出现故障,您不会丢失任何 ASP.NET 会话状态。
NCache 更多信息 NCache Cloud 对于 Azure 入门指南
如何配置 NCache 在 Azure ASP.NET 会话状态提供程序中?
NCache 在天蓝色 已实现可由 Microsoft Azure ASP.NET 应用程序使用的 ASP.NET 会话状态提供程序。 NCache 在 Azure 中使用 Microsoft Azure VM 并制定了一个专用的缓存层。 然后可以引导 Microsoft Azure 中的 ASP.NET 应用程序将此 Azure 分布式缓存用于 ASP.NET 会话状态存储。
使用亮点 NCache 在 Azure ASP.NET 会话状态提供程序中,它不需要任何应用程序代码更改。 它的 配置 很简单,只要修改你的应用程序web.config文件如下即可使用 NCache 在 Azure 中作为 ASP.NET 会话状态的分布式缓存:
1 2 3 4 5 6 7 8 9 10 11 12 |
<assemblies> <add assembly="Alachisoft.NCache.SessionStoreProvider, Version=x.x.x.x, Culture=neutral, PublicKeyToken=CFF5926ED6A53769"> </add></assemblies> <sessionstate cookieless="false" regenerateexpiredsessionid="true" mode="Custom" customprovider="NCacheSessionProvider" timeout="20"></sessionstate> <providers> <add name="NCacheSessionProvider" type="Alachisoft.NCache.Web.SessionState.NSessionStoreProvider" sessionappid="NCacheTest" cachename="TestCache" writeexceptionstoeventlog="false"> </add></providers> |
NCache 在天蓝色
NCache 是用于 .NET 应用程序的极其快速且可扩展的 Microsoft Azure 分布式缓存。 NCache in Azure 为部署在多个 Microsoft Azure 区域中的 ASP.NET 应用程序提供智能多区域 ASP.NET 会话状态支持。
以下是您在使用时获得的一些重要好处 NCache 将 Azure 用作存储 ASP.NET 会话状态的分布式缓存。
- 线性可扩展性和性能: NCache for Azure 基于动态集群协议,它允许您在运行时将更多服务器添加到缓存中。 当应用程序负载增长时,您的应用程序可以通过向 Azure 分布式缓存添加更多服务器来线性扩展,而无需更改应用程序体系结构。
- 会话复制: NCache for Azure 在复制的帮助下提供可靠性支持。 您可以使应用程序实例脱机以进行维护、修补和新版本,而不必担心任何会话数据丢失。
- 高可用性: NCache for Azure 提供高可用性的容错支持,因为它基于百分百的对等架构。 如果分布式缓存出现任何节点故障,可以保证您不会丢失任何数据或导致任何应用程序停机。
NCache 更多信息 .NET 中的分布式缓存 高可用 NCache
结论
Azure 分布式缓存,例如 NCache 在天蓝色 是在 Microsoft Azure 中存储 ASP.NET 会话状态的最佳选择,主要是因为 性能, 可扩展性、可靠性和高可用性特性。 Microsoft Azure 分布式缓存由 NCache for Azure 非常易于使用,不需要更改任何应用程序代码。
Azure 教程的精彩阅读。这帮助我在 Azure 教程中理解了很多。 请继续在 Azure 培训上分享类似的文章。 伙计们,如果您想了解更多有关 Azure 教程的信息,请务必查看这个精彩的 Azure 课程,我相信您会喜欢在 Azure 教程中学习的。:-https://www.youtube.com/watch?v=8_0qGTdHZSs&t=51s