典型部署

Windows Server AppFabric 服务器部署拓扑的要求高度依赖于您的业务需求以及您将托管的应用程序的要求。虽然难于将任何单个部署作为典型部署并对其提供说明行指导,但是本节将提供在您的环境中部署 AppFabric 的相关指导和建议。

现在介绍以下部署主题:

  • AppFabric 单服务器部署

  • AppFabric 服务器场部署

  • AppFabric 缓存功能部署安全注意事项

  • AppFabric 缓存功能部署方案

AppFabric 单服务器部署

在单个计算机上安装 AppFabric 时,即涉及到单服务器部署。这种部署通常用于在一台计算机上进行所有应用程序开发的开发环境中。

SQL Server

因为开发环境无需考虑向外扩展,所以此 AppFabric 部署可以配置为本地安装 SQL Server Express 作为监视和暂留数据库。

应用程序部署

虽然可以通过打包应用程序并使用 MSDeploy 部署到 AppFabric 来完成应用程序部署,但开发人员更可能会将其项目配置为直接使用运行 IIS 的本地服务器作为托管应用程序的方式,因为这样在测试环境中托管应用程序所需的步骤最少。但是,我们建议开发人员在迁移到暂存或生产环境之前,首先测试应用程序的打包和部署,以确保打包的应用程序正确部署。

有关部署应用程序的详细信息,请参阅部署应用程序

AppFabric 服务器场部署

虽然一台安装了 AppFabric 和 SQL Server 的计算机便足以构成开发环境,但是生产环境通常由服务器场中的多台计算机,以及一台或更多 SQL Server 专用服务器组成。在这样的环境中,也可使用负载平衡器和队列来管理目的地为您的应用程序的传入消息,以及 SQL Server的群集,以便实现高可用性。

AppFabric 的小型部署可以从安装在单台计算机上的 AppFabric 开始,但是也可增长为服务器场,从而跨多个服务器部署应用程序,创建一个高度分布式应用程序。向外扩展时允许实现负载平衡解决方案,以便在多个服务器上处理传入消息,以及为使用暂留的工作流提供增强的容错功能。

SQL Server 群集

虽然未在此部分详细描述,但我们强烈建议群集您的数据库群集以实现故障转移保护。有关 SQL Server 故障转移群集的详细信息,请参阅计划灾难恢复 (https://go.microsoft.com/fwlink/?LinkId=131016)(可能为英文网页)。

持久应用程序扩展

在处理长期运行的进程时,应用程序能免遭系统重启、硬件故障或其他不可预料的服务器中断影响十分重要。AppFabric 提供了默认的暂留提供程序,工作流应用程序可以利用它为长期运行的应用程序提供暂留。

在单台服务器部署中,暂留让工作流实例能够在托管它的服务器返回正常运行状态时恢复执行操作;但在服务器场部署中,可以在服务器场中任何符合条件的计算机上恢复应用程序。另外,如果一个工作流实例正在一台服务器上执行,并且目标为该实例的一条消息到达另一台服务器,暂留可将该正在执行的实例移动到具有挂起消息的计算机上,以便该工作流进行处理。

有关详细信息,请参阅配置工作流暂留

数据隔离

AppFabric 的默认配置是在一个数据库中存储暂留和监控信息。虽然这已经可以满足开发环境,但是开发环境通常要求具有更强大的资源集进行数据存储。AppFabric 使您可以创建多个独立的暂留和监控数据库,以支持运行 SQL Server的多台计算机上的数据隔离。

因为 AppFabric 支持创建多个数据库,所以不仅可以根据功能(暂留和监控)分隔数据,还可以根据应用程序分隔。如果您有一个应用程序要求具有强大的数据存储,则可以创建仅与该应用程序或服务专门关联的暂留和监控数据库。

有关创建附加数据库的详细信息,请参阅数据库管理

应用程序部署

将应用程序部署到多台计算机上时,请务必以一致、可重复的方式完成部署。为实现此目标,AppFabric 使用 MSDeploy 来打包和部署 Web 应用程序、网站或 Web 服务器内容及配置。MSDeploy 也可用于在网站或 Web 服务器与本地计算机或服务器场中的远程计算机之间同步数据。

有关部署应用程序的详细信息,请参阅部署应用程序。有关 MSDeploy 的详细信息,请参阅 Web 部署工具 (https://go.microsoft.com/fwlink/?LinkId=151481)(可能为英文网页)。

AppFabric 缓存功能部署安全注意事项

AppFabric 分布式缓存系统设计为在防火墙外围的数据中心运行。本节描述的服务器是托管配置存储位置的服务器、缓存服务器、启用缓存的应用程序服务器、开发服务器和主数据源服务器。所有服务器都应配置在同一域上。

因为缓存服务器之间的缓存数据和 TCP/IP 通信未加密,所以分布式缓存系统容易受到记录或修改网络流量的恶意攻击。

备注

AppFabric 缓存客户端应位于应用程序生态系统的应用层中。您组织的域的内部或外部的最终用户都不应直接访问缓存服务器网络。

在停用缓存服务器时,AppFabric 安装程序可能不会删除所有的防火墙端口例外。在卸载 AppFabric 后,我们建议您重新应用标准防火墙配置。

AppFabric 缓存功能部署方案

为简化部署选项的讨论,此部分重点讨论三个不同的例子:

  • 开发人员部署。用于开发启用缓存的应用程序的单计算机部署。

  • 中型部署。不使用 SQL Server 的多计算机安装,主要计算机执行群集管理角色。

  • 企业部署。使用 SQL Server 存储群集配置设置并执行群集管理角色的多计算机安装。

下表总结了 AppFabric 缓存功能的安装位置和如何执行群集管理角色。

AppFabric 缓存功能 开发人员部署 中型部署 企业部署

缓存群集配置存储位置

开发人员工作站上的本地共享文件夹

文件服务器上的共享网络

SQL Server 数据库

缓存服务器安装(缓存主机 Windows 服务和 Windows PowerShell 管理工具)

开发人员工作站

一台或多台缓存服务器(受文件夹的最大并发连接限制)

一台或多台缓存服务器

缓存客户端程序集

开发人员工作站

一台或多台应用程序服务器

一台或多台应用程序服务器

缓存群集配置设置可以存储在共享网络文件夹或 SQL Server 数据库中。有关每个选项的详细信息,请参阅群集配置存储选项(Windows Server AppFabric 缓存)

群集管理角色可由主要主机或 SQL Server 执行。考虑到缓存群集的可用性,使用 SQL Server 是最佳选项。有关详细信息,请参阅主要主机和群集管理(Windows Server AppFabric 缓存)

开发人员部署

使用开发人员部署,创建启用缓存的应用程序所需的所有组件(包括缓存群集自身)都包含在开发人员工作站中。在开始使用 AppFabric 缓存功能时,此部署方式是最方便的选项。

中型部署

使用中型部署,您的应用程序可以获得分布式缓存群集优势。您可以轻松扩展您的应用程序以满足不断增长的应用程序层需求。

因为该部署方案不使用 SQL Server 来存储群集配置设置,所以存在一些缺点。一些操作系统支持的共享文件夹的并发连接数有限制,这会直接影响分布式缓存群集中的缓存主机的最大数目。Windows XP、Windows Server 2003 和 32 位 Windows Vista 版本的共享网络文件夹的并发连接不能超过 10 个。我们不建议您使用这些操作系统来存储大型群集的缓存配置设置。

如果自动或尝试执行并行缓存服务器安装,则很可能会出现群集配置文件争用。此方案最可靠的缓存服务器安装策略是一次仅执行一个缓存服务器安装。

因为此方案未使用 SQL Server,所以安装不需要获取并安装 SQL Server,以及为您的应用程序创建群集配置数据库。关于时间和花费,根据您的应用程序的现有配置,这可能会也可能不会节约成本。如果使用共享文件夹群集配置存储选项,则缓存群集中的所有缓存服务器必须能够保持与共享网络文件夹的网络连接。

没有 SQL Server,只有主要主机能够执行群集管理角色。为保证缓存群集的可用性,大多数主要主机必须一直运行着,因此该方案中的缓存群集更容易出现服务器故障。根据您的应用程序的可用性,此方案还会让服务器的维护复杂化。有关详细信息,请参阅主要主机和群集管理(Windows Server AppFabric 缓存)

企业部署

与其他部署方案相比,企业部署可提供最佳的可用性和支持体验。它需要 SQL Server 数据库,一些应用程序可能没有。

在 SQL Server 执行群集管理角色时,群集能够承受丢失群集中的所有缓存服务器,只需保留一个处于运行状态即可。与使用共享文件夹群集配置存储选项一样,缓存服务器必须能够与 SQL Server 数据库保持持续的网络连接。

备注

任何时候停止缓存服务器,无论其是否正在执行群集管理任务,您将丢失该服务器内存中存储的数据。对于启用了高可用性功能的命名缓存,丢失数据的副本保留在群集中的其他服务器中,会被快速复制到备用服务器。有关详细信息,请参阅高可用性(Windows Server AppFabric 缓存)

因为此方案中的缓存服务器不执行群集管理角色,所以高可用性应用程序的服务器维护得到了极大的简化。无需进行复杂的服务器重启排序。有关详细信息,请参阅主要主机和群集管理(Windows Server AppFabric 缓存)

对于需要并发连接的情况,使用 SQL Server 非常有利。这样便可以顺利地并行进行自动缓存服务器安装,而无中型部署的群集大小限制。有关详细信息,请参阅为 .NET 4 安装应用程序服务器扩展 (https://go.microsoft.com/fwlink/?LinkId=169172)(可能为英文网页)。

另请参阅

概念

体系结构概述
群集配置存储选项(Windows Server AppFabric 缓存)
基于共享文件夹的群集配置(Windows Server AppFabric 缓存)
基于 SQL Server 的群集配置(Windows Server AppFabric 缓存)
使用 Windows PowerShell 管理 Windows Server AppFabric 缓存功能
主要主机和群集管理(Windows Server AppFabric 缓存)

  2011-12-05