从AppFabric Caching迁移到ScaleOut StateServer

两年前,发表了一篇关于Microsoft Windows Server AppFabric (WSAF) Caching性能和特性不足的博客。自那以后,情况发生了很大变化。今年早些时候,Microsoft宣布将在2017年4月停止对Windows Server AppFabric 1.1的支持。AppFabric Caching的用户现在必须确定迁移到替代分布式缓存的最佳下一步。

推荐的替代方案不尽人意。随着其“移动优先,云优先”的战略,Microsoft似乎在推动客户转向其Microsoft Azure云平台,建议“所有使用缓存的Microsoft AppFabric客户迁移到Microsoft Azure Redis Cache”。然而,对于许多客户来说,转向Azure尚不现实,他们需要一个完全支持的、本地解决方案来满足其分布式缓存的需求。Microsoft建议客户转向Redis,这既具有争议性又具有误导性,因为Redis开源社区不推荐在Windows上运行。

此外,Redis是一个内存中的数据结构存储,它在单个服务器上运行良好,但缺乏许多成熟、功能齐全的内存数据网格的可扩展性和高可用性特性,更不用说实时分析和计算能力了。Redis Cluster使用相对较不成熟的技术,与当前完全对等的内存数据网格相比。例如,它的主/从设计和最终一致性并不能提供事务系统中预期的访问保证和易用性,它依赖于客户端数据分片代表了易用性的倒退。这使得客户在将本地、.NET兼容的分布式缓存AppFabricCaching迁移出去时,面临着不确定和商业上不支持的未来。

幸运的是,ScaleOut Software十多年来一直在为.NET开发者社区提供行业领先的内存数据网格。ScaleOut的架构设计理念专注于提供高性能和最大的易用性。它采用单一、连贯的架构来集成可扩展性和高可用性;这种架构在其内存数据网格的所有方面都是透明地利用的。称之为“可扩展的、高度可用的一切”——该平台超越了线性性能扩展以访问网格对象,并使用共同的架构用于所有功能,如分布式锁定、事件处理、负载平衡、地理复制、并行计算和备份/恢复。

ScaleOut StateServer®与其行业同行相比,具有显著的优势和优势:

连贯的对等架构

ScaleOut StateServer使用对等架构来避免单点故障并最大化易用性。它通过在每个集群主机上自动复制其配置文件,避免了需要集中配置存储(这是一个单点故障)。系统管理员不需要创建和管理配置存储;这由ScaleOut StateServer自动处理。

ScaleOut StateServer的对等架构允许服务器轻松地添加和移除成员资格。服务器自动形成新的成员资格,并根据需要重新平衡工作负载。成员资格在服务器故障后自修复,恢复高可用性的冗余,并根据需要重新分配工作负载。

为了满足事务系统的需求,ScaleOut StateServer在其内存数据网格中实现了顺序一致性模型来存储数据。与在更新副本时采用最终一致性的分布式缓存不同,这保证了客户端应用程序始终看到最新数据,即使在服务器或NIC故障之后也是如此。

易用性

ScaleOut StateServer的易用性确保了安装非常简单,配置步骤最少。与AppFabric Caching不同,它不需要高度合格的Windows系统管理员来导航安装和配置分布式缓存的过程。

ScaleOut StateServer的集中式、基于GUI的管理控制台大大简化了管理,并提供了重要的功能,如集群范围控制、动态性能图表警报和网格热图。整体可视化提供了一目了然的监控,这在PowerShell和其他基于文本的脚本方法中是不可能的。

ScaleOut对象浏览器允许对分布式缓存的内容进行详细的内省,包括访问对象属性的值。

扩展功能:

ScaleOut StateServer(及其产品扩展)远远超出了AppFabric Caching的基本能力,并增加了重要的功能,包括:

分布式、基于属性的查询,使用Microsoft LINQ 众多API扩展,如支持对象依赖和滑动超时 强大的对象浏览器,直接浏览存储在网格中的数据 可扩展的事件处理 数据并行计算,包括世界上第一个C# MapReduce 可扩展的支持构建基于服务器的数据结构 WAN基础的数据复制和同步的全球数据访问 集成支持公共云,包括Amazon AWS和Microsoft Azure

此外,与Redis和其他一些开源替代品不同,ScaleOut StateServer完全由ScaleOut Software在Windows(以及Linux,以实现完全可移植性)上商业支持。

替换和迁移选项

客户在计划从AppFabric Caching迁移到ScaleOut Software的分布式缓存时,可以选择两条路径:保留现有遗留应用程序的源代码兼容性,或者迁移他们的应用程序以充分利用本地ScaleOut API。

源代码兼容库

ScaleOut Windows Server AppFabric (WSAF) Caching兼容性库是Microsoft AppFabric Caching API的源代码兼容的、即插即用替代品。这允许使用AppFabric的客户应用程序保留遗留AppFabric Caching API语义,并在不进行任何代码更改的情况下切换到ScaleOut StateServer,并使用熟悉的PowerShell命令来管理分布式缓存。这个库作为ScaleOut StateServer 5.4及更高版本的部分发行,如WSAF Caching兼容性库参考中所述。

本地ScaleOut API

客户也可以重写他们的应用程序以使用ScaleOut StateServer的本地API,这允许应用程序充分利用上述扩展功能。使用混合方法,本地ScaleOut StateServer API可以与AppFabric API一起使用。开发了一个详细的技术AppFabric Caching迁移指南,以帮助开发人员完成这个过程。

使用WSAF Caching兼容性库

将兼容性库的程序集(soss_wsaf_compat.dll)作为引用添加到项目中。这个程序集可以在ScaleOut StateServer安装文件夹中找到(通常是C:\Program Files\ScaleOut_Software\StateServer)在Compat\WSAF_Caching文件夹中。 在源文件中将"using Microsoft.ApplicationServer.Caching;"语句更改为"using Soss.Compat.WSAF;"。 重新编译项目,开始使用WSAF Caching兼容性库。
沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485