本文档已存档,并且将不进行维护。

从 AppFabric Caching 迁移到 Azure 角色中缓存

更新时间: 2015年8月

Important重要提示
Microsoft 建议使用 Azure Redis 缓存进行所有新的开发。有关选择 Azure 缓存产品的最新文档和指导,请参阅哪种 Azure 缓存产品适合我?

本主题介绍如何从 Microsoft AppFabric 1.1 for Windows Server 迁移到 Microsoft Azure Cache。当你将内部应用程序移至 缓存 时,可能会发生此类 Azure 迁移。

AppFabric 支持使用你自己的服务器和网络基础结构的内部缓存群集。AppFabric 的大部分功能和编程模型都与 Azure 共享,这为移至 Microsoft Azure Cache 提供了便利。

在将启用缓存的应用程序迁移到云中之前,请先复查 AppFabric 与 Microsoft Azure Cache 之间的区别。如果需要 Microsoft Azure Cache 中未包含的功能(如写入),则必须重新设计你的解决方案的该部分,然后才能成功移至 Azure。

必须在启用缓存的 Azure 角色上重新创建所有缓存及其相关设置。第一步是分析 AppFabric 缓存群集,以了解当前的内部配置。

  1. 在 AppFabric 缓存群集上,打开“缓存管理 Windows PowerShell”命令提示符。

  2. 运行不带任何参数的 Get-Cache 命令。此命令会列出命名缓存。

  3. 对列出的每个缓存,运行 Get-CacheConfig 命令。将缓存名称作为参数传递给此命令。记录每个缓存的配置设置。以下显示了该输出的示例。

    PS C:\Windows\system32> Get-CacheConfig TestCache
    
    CacheName                : TestCache
    TimeToLive               : 20 mins
    CacheType                : Partitioned
    Secondaries              : 0
    MinSecondaries           : 0
    IsExpirable              : True
    EvictionType             : None
    NotificationsEnabled     : True
    WriteBehindEnabled       : False
    WriteBehindInterval      : 300
    WriteBehindRetryInterval : 60
    WriteBehindRetryCount    : -1
    ReadThroughEnabled       : False
    ProviderType             :
    ProviderSettings         : {}
    
  4. 运行 Get-CacheHost 命令可查看缓存群集中缓存主机的列表。

  5. 对每个缓存主机,运行 Get-CacheHostConfig 命令。传输所需参数、缓存主机的名称和缓存端口(通常为 22233)。记录每个缓存主机的 Size 参数。

  6. 将所有缓存主机的 Size 值相加,以确定缓存群集的总体大小。

Warning警告
不支持将 AppFabric 和 Azure SDK 安装在同一台开发计算机上。这些步骤假定你使用的是单独的计算机,或者你在安装 Azure SDK 之前完全卸载了 AppFabric。

在 Visual Studio 中创建云服务或打开现有的云服务。将“缓存辅助角色”添加到云服务。有关详细信息,请参阅在专用角色上托管角色中缓存(Azure 缓存)。此角色将为整个云服务提供 缓存 功能。以下步骤介绍如何重新创建命名缓存。

  1. 在 Visual Studio 中,转至“解决方案资源管理器”窗口。

  2. “角色”文件夹中,双击承载 缓存 的角色。

  3. 在“角色属性”对话框中,选择“Caching”选项卡。

  4. 首先,在“命名缓存设置”下修改默认缓存,使之与 AppFabric 缓存群集中默认缓存的设置相匹配。然后,使用“添加命名缓存”链接添加你的解决方案所需的任何其他缓存。以下屏幕快照显示了几个已配置的命名缓存。

    为命名缓存 Caching 属性
  5. 使用 创建或重复使用某个存储帐户。应在“Caching”选项卡的存储帐户字段中使用该帐户,以便部署到云中。

下表将 Get-CacheConfig 的输出与 缓存 窗口中的设置关联了起来。

 

Get-CacheConfig 设置 缓存窗口设置

CacheName

Name

TimeToLive

生存时间(分钟)

Secondaries (0, 1)

高可用性(0 = 取消选中,1 = 已选中)

IsExpirable (True, False)

过期类型(True = 绝对,False = 无)

EvictionType (无,LRU)

逐出策略(无,LRU)

NotificationsEnabled (True, False)

通知(True = 已选中,False = 取消选中)

note备注
缓存不支持未在此处列出的任何 AppFabric Microsoft Azure Cache设置。

可以通过了解虚拟机大小与此角色的运行实例数之间的关系来配置缓存群集大小。有关详细信息,请参阅Azure 角色中缓存的容量规划注意事项

最后一步是将任何应用程序代码移至云服务项目。请注意,命名空间和许多 API 仍保持不变。以下步骤为每个需要 缓存 的项目提供了迁移指南。

  1. 在 Visual Studio 项目中,首先删除任何对 AppFabric 程序集的引用。

  2. 接下来,备份 web.config 或 app.config 文件的 dataCacheClient 部分。

  3. 从 web.config 或 app.config 文件中删除 dataCacheClient 和其他缓存部分。

  4. 随后,请准备好项目以使用 Microsoft Azure Cache。有关详细信息,请参阅操作方法:准备 Visual Studio 以使用 Azure 角色中缓存

  5. 然后,手动将删除的 dataCacheClient 部分重新添加到 web.config 或 app.config 文件。必须对这些部分做出以下更改:

    • 向每个部分添加 autoDiscover 元素。identifier 属性必须引用托管缓存的角色的名称。

      <autoDiscover isEnabled="true" identifier="[cache cluster role name]" />
      
    • 删除所有 hostshostsecurityProperties 元素。这些是不必要的元素,并且 Microsoft Azure Cache 不支持这些元素。

另请参阅

显示: