在现代的服务器集群应用中,应用程序需要快速响应并随着负载的增加而无缝扩展性能。开发者们发现,实现这些性能目标的关键在于使用分布式缓存技术。这种技术能够将频繁访问且快速变化的数据保持在最需要的地方,并且在整个服务器集群中全局可访问。这些特性不仅最大化了性能,也简化了设计。
ScaleOut StateServer以其卓越的性能、全面的开发API和自管理的特性,提供了当今可用的领先.NET分布式缓存解决方案。ScaleOut StateServer提供了超越所有“进程外”存储替代方案的快速访问时间,并且其吞吐量能够无瓶颈地扩展以处理最大的应用程序负载。其紧密集成的自管理架构使得使用变得简单,让能够专注于应用程序开发。
ScaleOut StateServer作为分布式软件服务运行在服务器集群中的每个Web或应用程序服务器上,将数据对象缓存在内存中,并使用一个256位的标识键在集群中全局访问这些数据对象。这些数据对象包含序列化的程序数据,例如ASP.NET会话数据、业务逻辑对象和数据集。存储的对象可以从集群中的任何服务器访问。
安装后,ScaleOut StateServer自动平衡集群中每个服务器使用的存储量,根据所需的量调整每个服务器的相对使用量。当新的服务器运行ScaleOut StateServer被添加到Web集群时,它们会自动扩展其存储容量和性能。
ScaleOut StateServer的可扩展分布式缓存提供了所有“进程外”解决方案中最快的访问时间,包括数据库服务器和独立缓存服务器。性能测试表明,ScaleOut StateServer在重复访问存储数据方面迅速超越了其竞争对手。
真正使ScaleOut StateServer区别于竞争对手的是其能够随着服务器集群增长而扩展其存储容量和吞吐量。随着服务器集群增长以处理额外负载,需要避免限制可扩展性的瓶颈。ScaleOut StateServer从内到外设计以扩展其性能的每个方面。测试证实,随着服务器被添加到集群,其吞吐量线性扩展以保持访问时间低。这使得服务器集群在同时保持不必要的访问负载远离数据库服务器的情况下,提供尽可能高的性能。
对于关键任务应用程序来说,缓存数据的高可用性是至关重要的。ScaleOut StateServer通过在多达两个额外的服务器上复制所有缓存对象,确保缓存数据永远不会丢失 - 即使集群中的服务器失败。如果服务器离线或失去网络连接,ScaleOut StateServer会自动从存储在集群中其他服务器上的副本中检索其会话对象,并在必要时创建新的副本以维持冗余存储。为了避免传统主/从复制方案中的“分裂脑”问题,ScaleOut StateServer采用了专利待决技术,确保复制的对象始终具有最新的更新。
ScaleOut StateServer还使用专利待决的、可扩展的心跳协议,快速有效地检测服务器故障,而不会用多播心跳包淹没网络。心跳故障会自动触发ScaleOut StateServer的“自愈”技术,该技术迅速恢复对缓存分区的访问,并动态重新平衡集群中的存储负载。
ScaleOut StateServer的自管理特性使得安装变得快速,并保持管理成本低廉。服务器自动连接在一起形成或扩展一个“集群范围”的存储。ScaleOut StateServer自动平衡其存储工作负载,并使用内部缓存来维持高性能,并且在服务器失败后自动恢复和“自愈”。应用程序可以从存储中的所有服务器统一访问和更新任何存储的数据对象。
可以使用其易于使用的GUI控制台或命令行控制程序,从集群中的任何服务器或远程连接的工作站管理ScaleOut StateServer。这些管理工具为提供对ScaleOut StateServer操作的完全控制,通知故障和配置更改,并确保与Web负载均衡器紧密协调。
.NET和C/C++应用程序可以直接使用随产品提供的全面应用程序编程接口(API)访问ScaleOut StateServer的分布式缓存。.NET API支持所有.NET语言,包括C#、C++和Visual Basic。额外的API支持独立(“非托管代码”)C/C++应用程序。
ScaleOut StateServer的API提供了简单、直接的访问分布式存储的方法,以:
ScaleOut StateServer包含了广泛且灵活的缓存特性,为提供构建强大的服务器集群应用程序所需的灵活性,包括:
ScaleOut StateServer充分利用其内置的可扩展性和高可用性,自动在服务器集群中分配事件处理负载,并确保即使发生服务器或网络中断,异步事件也总是被交付。
服务器集群应用程序有潜力提供处理快速增长的关键任务工作负载所需的性能和可扩展性。ScaleOut StateServer的分布式缓存使能够通过始终将快速变化的数据保持在应用程序需要的地方来解锁这一潜力。ScaleOut StateServer可以为应用程序带来巨大的性能提升,同时精心保护缓存数据。也许最重要的是,ScaleOut StateServer使分布式缓存易于使用和管理。
如果应用程序仅使用ASP.NET会话状态,并且不需要ScaleOut StateServer的全面API,请考虑从ScaleOut SessionServer开始,并随着需求发展,稍后升级到ScaleOut StateServer。