应用程序服务.doc_第1页
应用程序服务.doc_第2页
应用程序服务.doc_第3页
应用程序服务.doc_第4页
应用程序服务.doc_第5页
免费预览已结束,剩余51页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

版本版本2 0 第第 11 章章 Web 应用程序服务应用程序服务 服务蓝图 MSA 参考体系结构工具包 Microsoft 机密 机密 2003 Microsoft Corporation 保留所有权利 这些资 料属于 Microsoft 公司的机密信息 同时被当作商业秘密 这些资料中 的信息仅面向 Microsoft 授权的接收者 对于这些资料的使用 散发或 公开讨论 以及任何反馈均以所附的许可协议条款为依据 您可以通过 向 Microsoft 提供这些资料的任何反馈 表示同意该许可协议的条款 如果该许可协议已被删除 请在使用这些资料之前 在 上阅读有关条款 摘要摘要 本章提供了在各种企业情境中设计和部署 Web 应用程序服务的信息和程序 本指南基于 Internet Information Services 6 0 IIS 后者是包含在 Windows Server 2003 各版本中的 Web 服务器服务 本文档中的信息 包括 URL 及其他 Internet 网站参考资料 可能随时变 更 恕不另行通知 使用本文档的全部风险或因此导致的后果均由用户 自行承担 除非另外注明 否则此处作为例子提到的公司 组织 产品 域名 电 子邮件地址 徽标 人员 地点和时间纯属虚构 绝不意指 也不应由 此臆测任何真实的公司 组织 产品 域名 电子邮件地址 徽标 人 员 地点和时间 遵守所有适用的版权法律是用户应尽的责任 在不对版权法所规定的权 利加以限制的情况下 如未得到 Microsoft Corporation 明确的书面许可 不得为任何目的 以任何形式或手段 电子的 机械的 影印 录制等 等 复制 传播本文的任何部分 也不得将其存储或引入到检索系统中 Microsoft 可能拥有本文档主题涉及到的专利 专利申请 商标 版权或 其他知识产权 除非在 Microsoft 的任何书面许可协议中明确表述 否 则获得本文档不代表您将同时获得这些专利 商标 版权或其他知识产 权的许可证 2003 Microsoft Corporation 保留所有权利 Microsoft Active Directory ActiveX FrontPage 和 Windows 是 Microsoft Corporation 在美国和 或其它国家或地区的注册商标或商标 此处提到的实际公司和产品名称可能是其各自所有者的商标 Microsoft Corporation One Microsoft Way Redmond WA 98052 6399 USA 00 目录 简介简介 1 目标读者 1 必备知识 1 业务需求 1 针对针对 WEB 应用程序服务的应用程序服务的 MSA 企业设计企业设计 3 服务定义 3 服务设计 5 设计程序 5 设计输入 6 定义设计范围 6 应用程序分析 7 可用性 7 系统可用性 8 方案 1 NIC 协作 8 方案 2 冗余网络路径 8 方案 3 服务器群集 9 方案 4 负载平衡 9 服务可用性 10 优点 11 缺点 11 站点可用性 11 优点 11 缺点 12 可伸缩性 12 上扩 Web 应用程序服务 13 方案 1 添加处理器 13 方案 2 添加内存 13 方案 3 添加网络适配器 14 方案 4 池应用程序 15 方案 5 使用 SSL 卡扩展 SSL 15 负载平衡 Web 应用程序服务 16 方案 1 硬件负载平衡 16 方案 2 应用程序负载平衡 17 方案 3 网络负载平衡 17 方案 4 循环域名系统 RRDNS 18 方案 5 使用网络负载平衡和 RRDNS 18 硬件和软件要求 19 硬件 19 服务器 19 网络 19 存储器 19 软件 19 操作系统 20 Web 服务器 20 安全性 20 默认安全性 20 设计安全性 21 身份验证 21 权限和访问控制 21 统一资源定位符 URL 授权 22 安全套接字层 SSL 22 加密 22 代码访问安全性 22 应用程序和 FTP 用户隔离 23 实施安全性 23 监控 23 安全审核 23 安全程序和策略 23 体系结构安全性 23 应用程序安全注意事项 24 安全工具和实用程序 24 元数据库安全性 25 安全锁定 25 网络服务锁定 25 逻辑设计 26 可管理性 27 基于角色的管理 29 系统管理 29 日志记录 30 服务监视和控制 30 事件 31 管理工具 31 性能 32 应用程序因素 32 方案 1 应用程序池 33 方案 2 启用 HTTP 持续连接 33 方案 3 使用 HTTP 压缩 33 方案 4 限制连接 34 方案 5 设定连接超时 34 应用程序设计 34 组件的使用 35 加密和 SSL 35 高速缓存 35 其它因素 35 支持能力 36 合并 36 合并 Web 应用程序服务 37 方案 1 同一台服务器上的多个 Web 站点 37 方案 2 同一台服务器上的多个应用程序层 37 方案 3 同一台服务器上的多种服务 38 互操作性 38 客户端互操作性 38 应用程序互操作性 39 以前的服务版本 39 将 IIS 5 0 Web 站点迁移到 IIS 6 0 39 IIS 5 0 隔离模式 39 本地化 40 最佳实践 41 服务相关性 41 服务修改列表 42 标准和原则 43 安全性 43 传输 43 Web 43 总结总结 45 参考资料参考资料 46 附录附录 47 常规服务要求 48 安全性要求 48 配置要求 49 应用程序要求 49 服务蓝图 第 11 章 Web 应用程序服务1 简介 本章的 Microsoft Systems Architecture Microsoft 系统体系结构 MSA 服务蓝图 指 南提供了有关实施 Microsoft Internet Information Services IIS 6 0 的设计指导 并提供了组 织可用于在企业级 WEB 应用程序系统基础结构上设计和提供关键任务服务的信息 注意本文 档仅供参考 这意味着用它实施 IIS 来满足特定的业务需求之前 必须综合 IIS 6 0 和 Web 应 用程序设计的专家意见 可在本文档工具包的 基础结构蓝图 指南中的 MSA 应用程序基础设施体系结构 一章中 找到关于应用程序体系结构的附加信息 MSA 实施工具包 中的 MSA 2 0 规划指南 的 Web 应用程序服务 一章给出了详细的实施细节 目标读者目标读者 本章面向负责在企业环境下设计和部署 Web 应用程序服务的信息技术 IT 专业人士 本章 的读者应能理解服务级指导中提供的技术细节 但是不要求服务专家参与企业级讨论并理解所 做出的决策 必备知识必备知识 尽管本章设计是为了使任何有兴趣理解实施基于 IIS 的 Web 应用程序服务各个方面的人士受 益 但是仍然假定读者具备某些知识并能理解以下内容 IIS 6 0 Web 应用程序 操作系统和服务器硬件 业务需求业务需求 职责和业务功能不同的组织更加需要为企业内用户 其它数据中心和外界提供基于 Web 的服 务 为提供这些服务 他们必须部署基于 Web 服务器的高度可用 安全和可伸缩的体系结构 此外 这些体系结构应能进行监控和审核 并具有在不明显影响其所提供服务的条件下接受变 更的能力 Web 应用程序服务向企业提供一种机制以在 Web 上提供应用程序接口 该接口可以支持基于 Internet 的服务组织情形下的外部用户 也可支持各团队和合作伙伴间共享信息或工作流的内 部 Web 应用程序 由于以下情境描述了当前许多组织需要提供的功能种类 所以非常典型 尽管列表还远未完备 但它洞察到了基于 Web 的技术与组织提供的服务模式和类型的融合 电子商务应用 电子商务应用 Internet 业务 业务 典型的电子商务站点提供有关组织所提供的产品和 服务信息 电子商务站点必须高度可用 因为不可用性会转化为商业损失 安全 提供包括记帐和供货在内的事务服务 且可伸缩 以便吸引由于服务增长和业务的 季节性增长导致的用户数增加 2Microsoft Systems Architecture Version 2 0 组织组织 Web 站点 站点 组织托管能提供有关产品和服务信息和自身及其合作伙伴联系信息的 公共站点 通常这些信息由搜索引擎用于推广业务并瞄准广大受众 企业内联网企业内联网 Web 站点 站点 这些是在企业内运行 Web 应用程序来向雇员提供服务 使得 他们能相互协作 共享知识 协调各团队间的工作并执行行政和公司任务 这些服务 必须安全且易用 脱机交易支持脱机交易支持 销售部雇员能通过个人数字助理 PDA 移动电话以及使用安全无线 或开发商网络技术的平板电脑来访问销售数据 这种能力允许销售人员在任何时候可 从任何地方访问销售信息 并向组织提供更新信息以更好的做出业务回应 合作伙伴界面合作伙伴界面 组织需提供交换信息以及与其合作伙伴一起管理合资或合作公司的界 面 其中包括安全可靠的上传和下载的能力 自定义应用程序 自定义应用程序 大多数组织要求新服务与现有的或自定义的系统相集成 这可能通 过无法采用具有成本效益的方式进行迁移的过时技术来实现 例如 自定义内容管理 系统可能需要与基于 Web 的服务进行集成 这些情境要求以 Web 为中心的解决方案能提供具有不同的可用性 安全性和性能水平的服务 除了具有这些特性 环境也应该具有成本效益 适于改变并能很好的吻合组织远景规划和业务 目标 为拥有集中式机构和分公司并需要与业务合作伙伴和客户共享信息的企业级组织提供基于 Web 的服务是一项极具挑战性的任务 服务蓝图 第 11 章 Web 应用程序服务3 针对 Web 应用程序服务的 MSA 企 业设计 Web 应用程序是一个向地理上分散且具有不同硬件类型的用户提供 IT 服务来满足其计算需求 的既定媒介 基于 Web 的服务范围广泛 其中包括共享在标记语言中使用页面的信息 提供 动态应用程序功能和电子商务 而业务逻辑和数据存储要求由其它技术来提供 网络服务器充 当用户和相关系统的信息经纪人 Web 服务器需要支持标记语言 针对动态服务托管不同的技术 在电子商务环境下提供安全 事务并执行一些其它任务 这些不断变化的要求转化为对严格的安全性 对不断变化的工作负 载的适应性 所提供服务类型的灵活性 与底层系统的易集成性的需求 根据组织特性及其作为媒介与 Web 的相关性 使用不同的可用性 安全性和性能要求 对于 经营 Internet 业务 目录和电子商务 的组织 拥有高度可用性以及多级别的安全性和一致的 性能非常重要 当组织与合作伙伴交互时 他们务必提供安全连接和安全结构以便这些合作伙 伴能访问组织数据并参与工作流 当然所有这些功能应该在不危及组织内部安全或招致可自动 化任务产生附加的人员成本情况下实现 可根据规模 计算储量和其它因素将分公司数据中心 分成许多级别 基础结构应该允许这些数据中心按其要求的任何方式与中央数据中心集成 服务定义服务定义 作为通信媒介 Web 应用程序服务使用 Web 技术向用户提供应用程序 通过组织托管的 Web 服务器来提供这些服务 Web 服务器至少应提供以下服务 HTTP Web 站点 FTP 针对文件传输 可能要求 Web 服务器提供以下附加服务 使用网络新闻传输协议 NNTP 的新闻服务 使用简单邮件传输协议 SMTP 和邮局协议 POP3 邮件传输服务 支持使用 Web 分布式创作和版本控制协议 WebDAV 进行远程创作 此处所提到的 Web 服务器是作为 Microsoft Windows Server 2003 系列的一部分的 IIS 6 0 可将 IIS 6 0 作为 Windows Server 2003 操作系统的可选部件进行安装 其提供托管 Web 站点 和 FTP 站点的服务 为 Web 资源提供 WebDAV 工具 也作为基于 XML SOAP 的 Web 服务 的主机或分发器 IIS 也可用于提供静态 HTML 页面服务 使用动态服务器页面 ASP 开发 ASP NET 或 Internet 服务器应用程序编程接口 ISAPI 应用程序开发的动态内容 以及自定 义通用网关接口 CGI 应用程序 尽管与包括中间件 COM 和 NET 和数据库的许多技术交接 IIS 6 0 的主要任务还是提供应 用层服务 下图描绘了组织中 IIS 所提供和使用的各种典型服务 4Microsoft Systems Architecture Version 2 0 IIS 6 0 Web Application Services Clients Services Consumed Web ServicesSQL DatabaseCOM NET Framework Certificate ServicesActive Directory Services Provided Wireless and MediaASP NETASP Secure Access Web ServicesCGI and other Apps 图 1 IIS 6 0 应用程序接口 IIS 使用 Active Directory 目录服务提供基于 Windows 的安全性 身份验证和访问控制 同时也通过证书服务针对安全连接使用安全套接字层 SSL 和加密通信 为提供商务应用程序 功能 必须将 IIS 6 0 连接到本地运行或通过远程机制运行的 COM 组件或 NET 配件 也可 使用结构化查询语言 SQL 可扩展的标记语言 XML 或 Web 应用程序的 ADO NET 库将 其连接到数据库 服务蓝图 第 11 章 Web 应用程序服务5 服务设计服务设计 针对企业的 Web 应用程序服务设计受到诸如应用程序类型 用户类型 可用性和安全性要求 以及关于基础结构使用和需求方面的增长率等诸多因素控制 以下章节将全面介绍 Web 应用程序服务的一些特征及其对设计程序的影响 设计程序设计程序 针对组织设计 Web 应用程序服务是一个复杂的消耗性程序 不应认为本节的讨论是权威的设 计程序 它旨在作为具有清晰和明确的商业目标的组织应遵循的实际生活设计程序的指南指导 原则 开始设计程序前 收集与将要设计服务的性质和规模相关的要求非常重要 随后应该对所收集 的信息进行分类和分析 以便做出适当的设计选择 以下活动是设计程序的关键部分 收集设计输入 收集设计输入 使用正式方法决定希望 Web 应用程序服务满足的要求 由专家使用各 种工具吸收并分析本步骤收集的信息 包括应用程序详细资料 然后根据商业原因 和现有技术施加的约束条件明确设计事项 定义设计范围 定义设计范围 该活动包括区分要求服务支持的应用程序类型及其规模 用户数 站 点数和数据容量等 同时也需要分析服务的商务关键性 当前和预期的商务需求 战略技术以及组织发展方向以定义设计范围 可伸缩性 可伸缩性 希望组织内的 Web 应用程序服务能实时响应用户群 数量以及被托管的应 用程序类型的增长 这就要求设计是可伸缩的 以便能满足施加于业务的各种需求 必要时 Web 应用程序服务应该遵循上扩或外扩策略 服务应该允许对可伸缩性参数进 行粒度控制以确保必要时能调整性能 该步骤要求将不同的技术可伸缩性方案映射到 服务要求 可用性 可用性 Web 应用程序服务要求的可用程度受商业目标和组织内服务的关键性驱使 估计可用性要求并选择合适的实现要求的机制非常重要 硬件和软件要求 硬件和软件要求 务必生成和分析信息以选择包括服务器 存储器和网络组件等适当 的硬件资源 应该用这种方式选择操作系统和 Web 服务器以允许最大化硬件资源的利 用率 安全性 安全性 由于可从 Internet 访问 Web 服务器 它们可能遭受不同类型的攻击 通过选 择适当的用户身份验证方法并将凭证用于良好组织的权限结构来确保它们的安全 一 些 Web 应用程序可能要求加密敏感数据 应用程序支持 应用程序支持 设计应能支持具有不同的复杂度 其它技术的使用以及不同的部署模 式等的应用程序 应用程序可以使用接口并向托管于其它体系结构的服务实例提供接 口 设计的应用程序支持方面也应考虑诸如 CPU 密集型或输入 输出 I O 密集型等个 别应用程序的不同运营特性 成本 成本 尽管一些实例在安全性和可伸缩性等其它设计因素方面有优势 但是实现这些 设计的成本受到限制 因此应该进行成本受益分析以使设计与当前和未来商务需求一 致 6Microsoft Systems Architecture Version 2 0 应该对设计程序的本阶段收集的信息就企业需求进行分析 考虑实施和管理 Web 应用程序基 础结构的程序和策略尽管超出了本章的范围 但也非常必要 有关该主题的更详细信息 请 从以下网址 参阅 Microsoft Operations Framework MOF 文档 本章的剩余章节将讨论不同的设计标准以及建立 Web 应用程序服务实例以实现特定的商业目 标集的步骤 设计输入设计输入 为针对给定的情形确定合适的 Web 应用程序服务设计 应该执行以下步骤以在设计程序开始 前获取必要的信息 定义设计范围定义设计范围 以下信息应该作为设计范围定义的一部分进行收集 要求服务的设计的数据中心或企业实例的类型 Web 应用程序服务提供的应用程序服务数量和类型 服务的商业目标和被托管应用程序的商务关键性 被托管的 Web 站点在用户数和容量方面的规模 使设计与商业目标一致需要对组织 特别是在要求 Web 应用程序服务和服务器发挥不同的作 用以及希望其提供的服务类型方面有清晰的理解 为在组织环境下定义 Web 服务器和基于 Web 的应用程序的角色 对典型组织的要求进行建模 非常重要 这种组织拥有很大的中央用户群并且合作伙伴遍布全球 它也拥有能满足用户群的 不同部门和分公司 将这种典型组织分割成逻辑情境 并在下表中显示它们所发挥的作用 情境角色 公司或总部 向中央用户群提供服务 并作为部门和分公司的集线器 它也针对 B2B 要求充当与合作 伙伴的界面 如果组织有受 Internet 驱动的业务 那么总部情境也与基于 Internet 的服 务中心有联系 分公司满足组织远端分公司的需求 分公司可以使用总部托管的一些服务 但是也可本地托管 一些服务 具有许多不同的分公司配置 部门为部门提供服务 由于部门既是组织的一部分又是独立的实体 所以可将服务共享或本 地化 但是 部门对于集中式资源和服务依赖于总部 外联网 Extranet 提供组织及其合作伙伴之间服务接口的基础 典型的服务包括安全和结构化数据访问和 工作流共享 将该情境映射到企业 B2B 需要 Internet 提供诸如执行商务功能的 Web 站点托管等服务 也包括诸如电子商务站点等金融交易 此外 它也能提供内容管理系统和管理服务 表 1 企业情境示例 服务蓝图 第 11 章 Web 应用程序服务7 可根据诸如应用程序数 站点数 成本和性能特性等因素对满足这些情境要求的 Web 应用程 序进行分类 以下列表从规模和背景方面简单描述了 Web 应用程序的不同类型 企业内联网应用程序 企业内联网应用程序 将大多数企业内联网应用本地化到组织 并向特定的用户组提 供服务 虽然这些应用程序提供许多功能 但是它们通常不是商务关键性的 它们可 能非常复杂并利用综合安全来提供特定的商务功能 中小型企业中小型企业 Internet 应用程序 应用程序 这些应用程序为内部还是外部用户提供商务功能由应 用程序特性决定 缺少服务可能会导致效率损失和商务损失等的任何损失 大型大型 Internet 应用程序 应用程序 这些应用是商务关键的 并且需要最高级别的可用性 安全 性和可伸缩性 任何对服务级别的安全威胁都可能导致商务损失 新闻和电子商务站 点是这些应用类型的一个例子 可从以下网址获得有关针对商务关键的实施建立基础 结构程序的相关信息 在 Web 应用程序服务背景下 所有企业情境和应用程序类型在可用性 安全性和性能方面具 有不同的要求 随着运营规模的增大或商务关键性的增加 管理作为一种要求变得更复杂也更 重要 企业情境也不同于其中托管的应用程序特性 应用程序分析应用程序分析 一旦理解了服务要求的全部领域 那么理解将提供 Web 服务的应用程序的特定要求非常重要 本节列出了在将应用程序建立或托管到现有基础结构之前应该回答的子问题 是否已经针对想要应用提供的性能进行了应力测试 是否能独立扩展应用程序的不同组件 是否和已知问题或扩展限制的任何其它系统组件存在相关性 是否应用程序在需要对防火墙开放的端口等体系结构方面有特定的要求 应用程序是否使用会议 如果使用 如何实现 用以创建应用程序的技术是否在任何方面影响对用来满足可用性 安全性和可伸缩性 要求的技术方案的选择 是否存在任何限制服务的最小可用性水平和服务水平协议 SLA 存在哪些更新 Web 服务器上内容的机制 本章末尾附录 11 1 的 设计输入 中包括有关收集应用程序信息的抽样调查表 其它如可用性 安全性 可管理性以及硬件和软件要求等将在本章剩余章节提出 每节将讨论 不同的设计方案并评估其优缺点 可用性可用性 Web 应用程序服务设计用于托管具有不同可用性要求的应用程序 一些应用程序是关键任务 并且必须一直提供服务或者高度可用 而另外一些可能具有中度或低度可用性要求 对于 Web 应用程序 可用性包含以下内容 系统可用性 服务可用性 8Microsoft Systems Architecture Version 2 0 站点可用性 系统可用性系统可用性 将系统可用性定义为满足商务需求或企业服务水平协议 SLA 的高度可用服务器 Web 服务 器易受包括书面申请 安全漏洞 过时组件和弱性能或安全审核等许多因素的攻击 它非常 谨慎的排除所有单点故障 可考虑采用以下方法来维持系统可用性 网络适配器协作 NIC 协作 冗余网络路径 服务器群集 负载平衡 其中每一种方法都依赖于备用配置中的某类硬件冗余或附加硬件 如果发生硬件故障 备用硬 件可以接管主要处理 以便修理或替换发生故障的组件 方案方案 1 1 NICNIC 协作协作 可在失效转移配置中协作网络适配器以提供更高可用性或负载分配 NIC 协作允许二个网络适 配器共享单个 IP 地址 优点 不会出现性能下滑 不会出现性能下滑 NIC 协作的优势在于可以避免网络适配器故障 如果发生故障 冗余适配 器可以继续无性能劣化的传送网络流量 缺点 NIC 协作的缺点包括 附加成本 附加成本 附加网络适配器的使用增加了成本 不兼容性 不兼容性 NIC 协作可能与特定类型的硬件不兼容 方案方案 2 2 冗余网络路径冗余网络路径 服务器及其资源之间的连接性可能是单点故障 最好为服务器资源提供替代路径 以便路径故 障不影响服务器所提供服务的可用性 优点 可用性 可用性 具有冗余路径的优点在于在网络或设备故障时可通过替代路径路由流量来维持可用性 缺点 具有冗余路径的缺点包括 增加了复杂度 增加了复杂度 该方案中要求设置交换机引入了网络复杂度 增加了开销 增加了开销 具有到 Web 服务器的更多访问路径也意味着具有更多的安全性和维护开 销 服务蓝图 第 11 章 Web 应用程序服务9 方案方案 3 3 服务器群集服务器群集 服务器群集允许服务器作为单个单元工作 共享资源并提供更优异的性能和可用性 可在不同 的配置中建立 2 节点或 4 节点的服务器群集 如果活动服务器发生故障 可将处理转移到备用 服务器 发生故障的服务器经过修理或替换后 可重新开始处理 优点 服务器群集的优点包括 高度可用性 高度可用性 最大化备用服务器的用性并最小化停机时间 更快更可靠的存储器 更快更可靠的存储器 可根据组织需要将内容与服务器去耦并部署更快或更可靠的存 储器 缺点 服务器群集的缺点包括 更高的硬件和管理成本 更高的硬件和管理成本 群集要求设计中存在附加服务器 备用服务器 从而增加了 硬件和管理成本 交易损失 交易损失 失效转移不保存应用程序状态 所以进程内的交易将丢失 性能劣化 性能劣化 在激活 激活群集中发生失效转移时 单台服务器接管发生故障的服务器负 载 这通常会使性能劣化 方案方案 4 4 负载平衡负载平衡 负载平衡机制用于外扩 Web 服务器 负载平衡允许动态添加和删除负载平衡机制支持的服务 器 优点 负载平衡机制的优点包括 发生故障时自动检测 发生故障时自动检测 如果服务器发生故障 负载平衡机制自动检测故障且不向发生 故障的服务器发送任何请求 沿着负载平衡群集中的剩余服务器分配附加负载 替换服务器的自动检测 替换服务器的自动检测 发生故障的服务器重新上线时 负载平衡器检测它的存在性 并开始向其发送请求 保存状态 保存状态 如果服务器发生故障 一些负载平衡器可通过维持会话图表自身来保存状 态 缺点 负载平衡机制的缺点包括 更高的硬件成本 更高的硬件成本 根据运营规模和所用的负载平衡类型 负载平衡器增加了硬件成本 更高的复杂度 更高的复杂度 可要求在网络层安装负载平衡机制 这增加了服务设计的复杂度 负载分配的方式依赖于负载平衡的类型以及所用的负载平衡算法 下图描述了为增加可用性而对 Web 应用程序服务采用的不同可用性机制 10Microsoft Systems Architecture Version 2 0 Standalone Web Server Standalone Web Server with Redundant Hardware Web Server Failover Cluster Load balanced Web Server Increasing Availability 图 2 增加的可用性机制 服务可用性服务可用性 根据商务需求和服务水平协议 SLA 要求 Web 服务器 比如 Web 站点 托管的特殊服务应 该可用 通常通过 Web 应用程序服务体系结构协同其它组件如应用层或数据库等来提供可用 性 IIS 6 0 提供一种称为工作进程隔离模式的新请求处理体系结构 这就为使用内置于 IIS 6 0 可靠性特征的可用性和可靠性特征如应用程序池 Web 园和健康监控等提供了基础 并能有 效的用以提供 Web 应用程序服务可用性 下图描述了工作进程隔离模式 Application Pool Web Garden WWW Service Svchost exe SSL for HTTP SYS Windows Authentication Lsass exe Metabase IIS Admin Service FTP Service SMPT Service NNTP Service User Mode Kernel Mode ISAPI Extensions Worker Process W3wp exe ISAPI Filters Application Pool ISAPI Extensions Worker Process W3wp exe ISAPI Filters HTTP Protocol Stack Inetinfo exe ISAPI Extensions Worker Process W3wp exe ISAPI Filters Application Pool 图 3 工作进程隔离模式 IIS 6 0 具有以下组件 HTTP SYS 核心模式设备驱动器向用户模式应用程序路由 HTTP 请求 服务蓝图 第 11 章 Web 应用程序服务11 WWW 服务管理和监控组件 服务管理和监控组件 配置万维网 WWW 发行服务 WWW Service 并管理 工作进程 工作进程 将进程请求提交到为其分配的 Web 应用程序 Inetinfo exe 托管元数据库和非 Web 的服务 IIS 6 0 中的工作进程隔离模式针对进程为 Web 应用程序请求的各种 ISAPI DLL 实例使用不同 的进程 IIS 6 0 的以下特征可用于增强服务的可用性 快速故障保护 快速故障保护 当应用程序池检测到给定时段分配的工作进程太多时 有可能变得不 健康 那么启动快速故障保护 该进程切断与检测条件的万维网 WWW 服务的通信 并启动适当活动 典型的如为事件日志发送错误或警告 然后重新开始工作进程 应用程序池队列长度 应用程序池队列长度 应用程序池队列长度限制防止大量排队等候的请求使 Web 服务 器超载并影响服务的可用性 当启用应用程序池队列长度限制时 IIS 在排队等待新请 求之前针对指定的应用程序池队列监控请求数 如果向队列添加的新请求数超过了队 列大小 服务器将拒绝请求并向客户端发送503 错误响应 不能自定义 优点优点 工作进程隔离模式的优点包括 可靠性 可靠性 由于应用程序运行于自身的进程中 一个应用程序故障不会导致整个 Web 服务器瘫痪 监控不健康的应用程序 监控不健康的应用程序 可将针对应用程序的健康状况检查机制用于停止和开始检测 到的不健康应用程序 健康状况监控 健康状况监控 可监控 CPU 负载并关闭导致处理器开销的恶意应用程序以使其它应 用程序可用 可在规定的时段后 CPUResetInterval 重新开始应用程序 缺点缺点 工作进程隔离模式的缺点包括 不支持不支持 IIS 5 0 应用程序 应用程序 如果不改变其代码库 一些运行于 IIS 5 0 早期版本的应用程 序可能无法运行 不支持不支持 ISAPI DLLs 不支持进程外 ISAPI DLL 也不起作用 站点可用性站点可用性 如果整个站点发生故障 那么本章早前介绍的获得可用性的方法已经不奏效 为处理这种情境 可将 Web 应用程序服务托管到具有适当机制的多个站点 以复制数据并确保连接弹性 优点优点 业务连续性 业务连续性 将应用程序托管到多个站点的优点在于它可提供业务连续性 一旦站点崩溃或发 生严重的安全性问题 可将站点关闭或脱机并将对应用程序的请求发送到镜像站点 尽管发生 局部灾难 这种能力允许操作继续进行 12Microsoft Systems Architecture Version 2 0 缺点缺点 将应用程序托管到多个站点的缺点包括 增加了成本 增加了成本 具有针对可用性的镜像站点增加了硬件 部署和运营的成本 需要复制数据 需要复制数据 需要将数据及其更新从主站点复制到镜像站点 以保持站点彼此同步 可伸缩性可伸缩性 可通过扩展 Web 应用程序服务来保持增长的要求与 Web 服务器提供的特征及其相关的基础结 构一致 但是应该注意到 单独无其它基础结构层支持的扩展 Web 应用程序服务可能无法满 足性能要求 业务和数据 务必检查现有的和潜在的瓶颈并明确阐明针对它们采取的扩展策略 只要 Web 应用程序是用 允许扩展的方式书写 便可对其进行扩展 由于维持状态可能妨碍扩展操作 所以可扩展的 Web 应用程序具有无状态等特定特征 此外 Web 应用程序应该允许多个实例 以便能分配 它们以减少资源冲突 可扩展的 Web 应用程序通常具有很低的启动成本 并且应用程序启动 时无需进行重新处理 在比较上扩和外扩等不同的扩展策略后 可以明确的制定合适的扩展策 略 Standalone Web Server Standalone Web Server with Multiple Sites Load balanced Web Cluster Increasing Scalability Single CPU Web Server 1 processor Multi CPU Web Server 2 processors Multi CPU Web Server 4 processors Multi CPU Web Server 8 processor Scale Out Scale Up Increasing Scalability 图 4 上扩和外扩 服务蓝图 第 11 章 Web 应用程序服务13 本图描述了针对 Web 应用程序服务的不同扩展机制 本章稍后将介绍不同的设计点 外扩和 上扩轴考虑使用可伸缩性递增序列中描述的不同扩展机制 为扩展 Web 应用程序服务 可以 考虑使用以下策略 上扩 负载平衡 上扩上扩 WebWeb 应用程序服务应用程序服务 可从诸如扩展处理器或内存等不同方面实现服务器上扩 但是 由于上扩一个组件可能会将瓶 颈转移到其它组件 所以充分的分析瓶颈并添加适当的资源来解决瓶颈问题非常重要 以下成 分是实现上扩的相关方案 添加处理器 添加内存 其中包括 1 为应用程序添加内存 2 为服务器添加内存 添加网络适配器 轮询应用程序 使用 SSI 卡实现 SSI 扩展 方案方案 1 1 添加处理器添加处理器 IIS 6 0 支持多达 8 个处理器 并允许通过设置处理器关联性这一迫使工作进程运行于特定处理 器上的应用程序池将其映射到各种进程上 可将其应用到服务于特定应用程序池的所有工作进 程 SMPAffinitized 特性允许 IIS 显示为使用处理器关联所选定的特定进程 可将该特性与 SMPProcessorAffinityMask 特性 用于配置十六进制处理器掩码 联合用于设置处理器关联 当将特定的网络适配器关联设定为特定 CPU 时 进一步进行该配置 优点 添加处理器的优点包括 更好的支持更好的支持 CPU 密集型的应用程序 密集型的应用程序 当应用程序为 CPU 密集型时 可在不影响整体 性能的情况下执行诸如加密和安全套接字层 SSL 处理等任务 增强的性能 增强的性能 可为应用程序池设置处理器关联以获得更优异的性能 可使用 Web 园来 优化分配到应用程序池的 CPU 资源 缺点 添加处理器的缺点包括 需要利用额外功率 需要利用额外功率 并非所有的应用程序都利用多处理器来书写 如果应用程序不使 用额外 CPU 功率 那么对整体性能无益 更高的成本 更高的成本 由于需要使用多处理器服务器和操作系统 解决方案的整体成本更高 14Microsoft Systems Architecture Version 2 0 方案方案 2 2 添加内存添加内存 Web 应用程序需要足够的内存来加载和维持处理 DLL 缓冲请求和响应 此外还需进行其它 一些如应用动态安全性检查等活动 由于通常不仅将服务器配置用于单个应用程序 而是由来 自许多不同应用程序的进程共享同一内存 因此 内存可用性是上扩 Web 应用程序服务的关 键部分 可为改善性能向服务器添加更多的物理内存 但是 由于及其尺寸原因 实际可添加的内存数 可能受限制 也可通过 IIS 提供的配置参数 使用 Microsoft 管理控制台 MMC 或通过从系统 删除低优先级应用程序来向应用程序进程提供更多的物理或逻辑内存 在进行应用程序测试以帮助确定系统合适的内存配置期间 应该监控内存计数器 如果记数值 超出了接受门限 那么应该改变 Web 应用程序的内存配置 IIS 6 0 可在 x86 系统上配置多达 64 GB 的高速缓存 MaxCachedFileSize 和 MemCacheSize 特性允许您设置可用于高速缓存的内存 如果有足够的可用内存 可设置这些特性值以增强 性能 高速缓存默认设置使用多达 50 的可用物理内存 并在内存耗尽时 IIS 将自动整理高 速缓存 IIS 也通过释放不使用的应用程序内存来智能管理内存 并使用包括队列长度 再循 环时间和可用的最大内存等一些特定于应用程序的参数 向 Web 服务器添加更多内存的优缺点如下 优点 添加更多内存的优点包括 更佳的高速缓存 更佳的高速缓存 IIS 能高速缓存更多的响应 因此能增强性能 改善了性能 改善了性能 减少了页面到磁盘的过多交换 因此增加了全面的吞吐能力 改善了可用性 改善了可用性 如果使用 Web 园 那么可沿应用程序分配内存以满足服务水平协议 SLA 要求 缺点 没有关于非高速缓存应用程序的增益 没有关于非高速缓存应用程序的增益 增加内存的缺点在于没有关于非高速缓存应用程序的增 益 由于应用程序不使用高速缓存 性能增益可能无法高到足以证明附加成本为正当的 方案方案 3 3 添加网络适配器添加网络适配器 可添加网络适配器并尽可能的协作分配网络负载 附加的适配器在某种程度上也能防止服务器 成为 Web 应用程序瓶颈 优点 添加网络适配器的优点包括 增加吞吐能力 增加吞吐能力 如果在负载平衡配置中配置网络适配器 那么在它们之间分配网络流 量以提供几乎双倍的吞吐能力 改善了安全性 改善了安全性 可将客户端流量与配置运行于辅助网络适配器的服务器通信流量分离 缺点 添加网络适配器的缺点包括 服务蓝图 第 11 章 Web 应用程序服务15 增加了成本 增加了成本 附加网络适配器增加了服务成本 附加的复杂度 附加的复杂度 更多的网络适配器增加了解决方案的复杂度 方案方案 4 4 池应用程序池应用程序 可通过将 IIS 6 0 中的应用程序配置为 Web 园来实现上扩 通常对于进程隔离和通用配置 许 多应用程序可共享一个工作进程 可执行的 W3P exe 的一个实例 为改善性能而使用 Web 园非常有益 优点 池应用程序的优点包括 更优异的性能 更优异的性能 可将多个进程连接到应用程序池 以便 Web 应用程序拥有更多的资源 并能更好的执行 增加了可靠性 增加了可靠性 针对应用程序池设置处理器关联性可使应用程序与其它应用程序可能 遭遇的 CPU 瓶颈相隔离 缺点 池应用程序的缺点包括 需要多台需要多台 CPU 服务器 服务器 该设计只能在多处理器机器上实现 需要重要的监控 需要重要的监控 在综合这些变更前 设置处理器关联性并使用处理器作为 Web 园需 要监控相关的计数器 方案方案 5 5 使用使用 SSLSSL 卡扩展卡扩展 SSLSSL 由于 Web 服务器针对每个呼叫进行加密和解密 所以 HTTPS 和基于加密的 Web 应用程序要 求大量的 CPU 周期 可使用 SSL 卡以在 HTTP 应用程序中获得更优异的性能 16Microsoft Systems Architecture Version 2 0 优点 SSL 扩展的优点包括 更优异的更优异的 HTTPS 性能 性能 由于将加密和 或解密任务卸载到 SSL 卡上 所以HTTPS 应 用程序扩展性能更优异 减少服务器硬件上的负载 减少服务器硬件上的负载 添加 SSL 卡减少以服务器的 CPU 工作量 因此使服务器 上其它进程的性能增强 缺点 SSL 扩展的缺点包括 更高的复杂度 更高的复杂度 该方案增加了管理开销 并增加了体系结构中的可能故障点 更高的成本 更高的成本 通常该方案使用起来费用更高 负载平衡负载平衡 WebWeb 应用程序服务应用程序服务 考虑针对不限制将服务托管到单台计算机上的 Web 应用程序使用外扩 但是 确保应用程序 适于外扩非常重要 当部分应用程序可在不同服务器上运行或同一应用程序的多个实例可存在 于不同服务器上时 可使用外扩 当以组件在不同服务器上运行的方式分割单个应用程序时 体系结构与 Web 场相似 由于 Web 应用程序的状态管理增加了应用程序和体系结构的复杂度 所以无状态应用程序有 助于实现更好的可伸缩性 无状态应用程序允许应用程序的多个实例存在于不同的服务器上并 沿其分配请求 可使用企业选择的任何负载平衡机制实现这种分配 负载平衡机制应该允许关 联性 关联将请求路由到特殊服务器 这一点对于 HTTP 请求的情形非常重要 不同的负 载平衡机制提供不同的关联度 后续章节将讨论各种负载平衡方法 方案方案 1 1 硬件负载平衡硬件负载平衡 硬件负载平衡透明的将客户端的单一 IP 地址请求导向负载平衡群集内的多个主机 硬件负载 平衡器通常使用称为网络地址转换 NAT 的技术使一个或多个虚拟 IP 地址与客户端接触 并 通过转换 IP 地址向主机转发数据和重传网络数据包 服务蓝图 第 11 章 Web 应用程序服务17 优点 硬件负载平衡的优点包括 性能 性能 由于负载平衡出现在网络设备内部 所以性能更优异 灵活性 灵活性 可根据应用程序或负载类型选择不同的负载平衡算法 缺点 硬件负载平衡的缺点包括 单点故障 单点故障 当使用单个硬件负载平衡器时 在群集和客户端之间存在单点故障 为提 供高的可用性 需为失效转移配置备份负载平衡器 附加成本 附加成本 针对负载平衡的附加硬件可能增加解决方案的成本 这对于小型 Web 应 用程序可能不合适 一些负载平衡器允许根据 IP 端口合并来设置规则 它们也与域名和后缀一起发挥作用 并支 持使一个应用程序而非整个服务器运行于负载平衡集外的服务器上 IIS 6 0 适于硬件负载平衡并能根据所用负载平衡器的能力发挥作用 IIS 6 0 HTTP SYS 具有集 成负载平衡器的 2 类通用行为 IIS6 0 HTTP SYS 默认提供高级负载平衡器能处理和响应的特 定行为 另一方面 也可以通过改变元数据库属性 LoadBalancerCapabilities 来集成旧版本的负载平 衡器 可以通过设置不同应用程序池数值来忽略该参数 Web 应用程序服务 WAS 针对应用 程序池检查元数据库记录 并针对应用程序池将 LoadBalancerCapabilities 域传递给 HTTP SYS 当关闭其下运行的应用程序或不可用时 负载平衡器的行为不同 高级负载平衡器将提供服务 不可用的原因以及有关用户尝试重新连接的时间相关信息 方案方案 2 2 应用程序负载平衡应用程序负载平衡 应用程序负载平衡包括编码客户端应用程序 以便能通过一组服务器访问 Web 应用程序 可 根据应用程序使用各种分配负载的方法和不同的算法 通常最常用的方法为采用重复模式将请 求分配到节点的循环法 但是 该方法已经被考虑特殊节点上负载的更复杂方法及其服务于特 殊请求类型的关联性超过 优点 可自定义 可自定义 应用程序负载平衡的优点在于可自定义来满足特定的应用程序要求 缺点 应用程序负载平衡的缺点包括 不灵活性 不灵活性 除非编码为灵活性 该解决方案只针对特定的应用程序有效 有限的伸缩能力 有限的伸缩能力 可能很难添加或删除附加服务器以满足变化的可伸缩性要求 方案方案 3 3 网络负载平衡网络负载平衡 网络负载平衡通过将自身绑定到服务器的适配器上并接收或丢弃通过广播机制收到的请求来发 挥作用 18Microsoft Systems Architecture Version 2 0 优点 网络负载平衡的优点包括 释放释放 Windows Server 2003 网络负载平衡与 Windows Server 2003 一起出货 无需 附加的实施成本 无单点故障 无单点故障 由于该设计并行的运行于群集中的所有主机上 所以它避免了单点故障 大多数硬件负载平衡器需要2个硬件单元以避免单点故障 而第二个硬件单元 相同花 费 运行于被动模式 具有容错能力 具有容错能力 如果服务器故障 自动将其负载分配到其它服务器上 当服务器再次 上线时 将负载再次导向它 缺点 网络负载平衡的缺点包括 服务器数受限 服务器数受限 可添加到网络负载平衡群集上的服务器数 约32个

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论