Windows Server AppFabric 是一组集成技术,可更轻松地生成、扩展和管理 IIS 上运行的 Web 应用程序和复合应用程序,它是一款主要面向私有云计算的系统。Windows Server AppFabric 适用于使用 ASP.NET、Windows Communication Foundation (WCF) 和 Windows Workflow Foundation (WF) 生成的应用程序。 Windows Server AppFabric Beta 2 for For Vistual Studio 2010已经发布已经简单介绍过这个服务,2010年6月4日已经正式发布了这个产品,下载地址:http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=467e5aa5-c25b-4c80-a6d2-9f8fb0f337d2

这是一个期待已久的产品发布,为了给各位更好的了解下这个产品,本文详细介绍一下这个产品:

Windows Server AppFabric方便开发人员能开始着手构建新一代的复合应用程序,并提供管理员控制及管理这些程序的能力。Windows Server AppFabric 整合先前定名为「Dublin」及「Velocity」代号的技术,为开发人员提供构建、控制及管理跨越服务器与云计端平台的复合应用程序所需的整合技术。

Windows Server AppFabric 具有三项核心功能:分布式缓存、工作流程管理和服务管理。

  • 针对 Web 应用程序,Windows Server AppFabric 提供了缓存功能,为应用程序数据提供高速缓存、扩充性及高可用性等特性,借此避免对数据源进行不必要的调用。
  • 针对复合应用程序,Windows Server AppFabric 则让用户能更轻松地构建和管理 Windows Workflow Foundation 和 Windows Communication Foundation 所构建的服务。
  • Windows Server AppFabric 能够有效地简化这些复合应用程序的开发、部署及管理工作。

AppFabric Caching Services

    AppFabric Caching Services 最初代号为“Velocity”。它可以加快频繁访问信息的速度。AppFabric Caching Services的一个主要组成部分是缓存客户端(cache client)。例如Asp.net页面,它可以访问一个由很多缓存服务器(cache server)组成的缓存群集(cache cluster)。每个缓存服务器(cache server)运行着一个AppFabric Caching Services实例,用来维护一些缓存数据。

Windows Server AppFabric Caching Capabilities

当客户端第一次获取一些数据的时候,如ASP.NET应用程序用户提供一些信息资料,或者从数据库中读取的信息,它可以使用AppFabric Caching Services客户端类库将一个唯一的名称和这些信息一起存放在缓存群集中( cache cluster)。对于客户端来说,缓存集群中的所有缓存服务器就是单一的逻辑存储。客户端既不知道也不关心的哪台物理服务器的缓存哪些数据。

Windows Server AppFabric Caching 主要特点有:

  • 任何可以被序列化的 CLR 对象都可以通过简单的 Cache API 将数据缓存
  • 支持企业规模:可支持上百台主机的服务器架构
  • 可弹性的调整配置,并通过网络缓存服务
  • 支持动态调整规模,可随时新增节点
  • 支持高可用性架构
  • 自动负载平衡
  • 可与 Event Tracing for Windows (ETW), System Center 等机制整合管理与监控
  • 提供与 ASP.NET 的无缝整合,将 Session 数据储存至缓存,也可在 Web farm 架构下将应用程序数据缓存 ,减少数据库大量读取的负担
  • 第一版遵循 cache-aside architecture ( 明确快取, Explicit Caching ),意即你必须在你的应用程序中明确指明你要新增(Put)或移除(Remove)快取的项目,所有快取数据并不会自动与任何源数据库进行同步。

AppFabric Hosting Services

AppFabric Hosting Services,使用它能方便的运行和管理WCF服务,特别是由WF Service创建的服务。AppFabric 托管服务结合 WAS 使用,为中间层 WCF 和 WF 应用程序提供可靠的宿主环境。WAS 提供的功能有:

  • 应用程序和工作进程的基于消息的激活。应用程序根据使用 HTTP 和非 HTTP 网络协议到达的传入工作项目动态进行启动和停止。
  • 强大的应用程序和工作进程回收,维护运行应用程序的运行状况。
  • 集中式应用程序配置和管理。

除了通常由 WAS 提供的功能,.NET Framework 4 还在激活托管的服务方面提供了一些增强功能。使用 .NET Framework 3.5 构建的服务激活需要创建一个必须使用此服务进行部署的单独“服务文件”(具有 .svc 扩展名)。此外,如果服务使用 WF,则必须使用此服务创建和部署其他可扩展应用程序标记语言 (XAML) 文件(具有 .xaml 扩展名)。.NET Framework 4 提供了直接激活 WF 服务的方式(无需创建和部署单独的 .svc 文件)。XAML 文件必须具有扩展名 .xamlx,以便由主机直接激活相关联的 WF 应用程序。WCF 和 WF 应用程序可直接从 Web.config 文件激活,并且不要求单独的 .svc 文件。

虽然简化的托管服务不需要服务文件,但这并没有影响 WAS 所采用的基于消息的激活技术。在 WAS 中托管服务时,将不会创建服务实例,直到接收到递送至该服务的消息。这表示最初服务启动时,必须通过分配内存、加载库以及创建对象等方式初始化新的实例。如果应用程序在处理时间敏感数据,则在启动各个服务中产生的延迟可能无法接受。即使没有处理时间敏感数据,依赖使用基于消息的激活也会限制服务接收数据的方式,因为基于消息的激活要求 WAS 激活器。现成的 .NET 为以下协议提供了激活器:

  • http:为 IIS 7.0 和 WCF 提供了 HTTP 激活。
  • net.tcp:提供了基于 TCP 端口的激活。
  • net.pipe:提供了基于命名管道的激活。
  • net.msmq:使用基于 WCF 的消息队列 (MSMQ) 应用程序。
  • msmq.formatname:为向后兼容提供了现有的 MSMQ 应用程序。

若要解决基于消息的激活的限制,AppFabric 托管服务可以利用 Windows Server 2008 R2 和 Windows 7 提供的 IIS 自动启动功能,在进行了部署以后自动启动托管 WAS 服务,而不是等待激活消息。

Windows Server AppFabric的功能很诱人,Windows Server AppFabric作为微软日后进军私有云市场的一个关键性产品,可以允许用户创建和维持他们自己的云计算系统架构。下面看下他的运行环境:

  • 支持的操作系统: Windows 7; Windows Server 2008; Windows Server 2008 R2; Windows Vista
  • Windows Server AppFabric 可在以下操作系统上进行安装:
  • 支持的体系结构:
    • 32 位 (x86)
    • 64 位 (x64)
  • 硬件要求:
    • 最低硬盘空间:2GB
    • 计算机需配有 Intel Pentium 兼容 CPU,具有 1 GHz 或更快速的单核处理器、900 MHz 或更快速的双核处理器或者 700 MHz 或更快速的四核处理器。
  • 必备软件:

下面简要介绍一下这个服务的安装和使用。

1、安装可以参照Windows Server AppFabric 安装和配置指南,下面主要说明一下注意的地方,安装可以直接下载安装包和通过Web Platform Installer(WPI)来进行。通过WPI进行安装,注意WPI的默认选项中没有包含AppFabric:

image

通过下方选项进行设置,勾选上企业选项:

image

通过企业选项卡就可以看到了AppFabric的安装程序:

image

image

安装完成后,所有的程序和.NET组件都在下面的目录里:

C:/Windows/System32/AppFabric

配置的时候参照Windows Server AppFabric 安装和配置指南进行,在 AppFabric 配置向导成功配置缓存服务之后,将需要使用管理 cmdlet 启动群集或启动群集中的单个主机。使用 Start-CacheCluster 或 Start-CacheHost cmdlet。出现如下错误

image

 

园子里文章:

WF4.0实战(二十):Windows Server AppFabric介绍

WF4.0实战(二十一):Windows Server AppFabric中宿主WF4.0应用程序

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐