用于构建强大云应用程序的组件块

继发表设计强大的云应用程序博客之后,Azure CAT 团队计划提供有关 MSDN 代码库上发布的代码项目Windows Azure 中的云服务基础中的组件的详细信息和技术说明。我们将开始发布一系列博客和技术文章,对这些基础构建块(我们称之为组件)的使用进行说明。在接下来的几个月内,我们将每隔一周在周四发布一系列博客,提供云服务基础的各个组件的详细技术说明。

这些年来,我们一直致力于与 Microsoft 内部和外部的 Windows Azure 客户协作,并多次就对 Windows Azure 服务的需求进行深入探讨。我们也亲身体会到,要回答关于如何实现云服务的一些看似基本的问题也变得日益复杂。例如,我们需要一个数据访问层,而不是仅提供一段分区代码。而为了实现弹性的数据访问层又需要开发重试逻辑。我们还需要关于如何记录大量错误的可靠指南。更不用说构建一个可以查询报告并生成警报的ops 存储了。您可以看到讨论如何随着每个组件来进展,因为它们相互依赖。这些讨论和实现产生了代码项目 Windows Azure 中的云服务基础将一些基本组件与正常运行的云应用程序联系在一起。

对于 CAT 团队来说,该代码项目是一个巨大挑战,因为我们致力于为最大的几个客户在Windows Azure 上实现复杂的以数据库为基础的服务。它基于我们在解决Windows Azure 客户所遇到的具体问题时所付出的努力。当我们综合考虑大型云服务的众多要求(包括灵活缩放、可分区工作负荷、可用性、业务连续性、大量分布式用户以及高容量低延迟请求)时,解决这些问题就不是单靠基本示例那么简单了,而往往需要最佳实践。您可以在下面查看云服务基础代码项目的基础结构。

我们的系列技术文章将对该代码项目中的组件进行详细说明,包括:

1.  远程控制 – 它是通过数据管道中大规模实施的异步机制测量和记录应用程序服务的基础。有效利用远程控制数据是对服务进行故障排除并确定服务运行状况的关键所在。该代码项目使用后台worker role 实施计划程序,以便定期收集有关应用程序、性能计数器、IIS日志、事件日志和分区SQL 数据库DMV 的远程控制数据。将数据写入到Windows Azure SQL 数据库中的自定义ops 存储数据库。可通过SQL Reporting 中的报告来查看计划程序收集的数据。

2.  数据访问层 – 能够有效、可靠地访问 Windows Azure SQL 数据库中的多个数据库。代码项目中具有单个数据库和分区解决方案的数据访问包装,并显示跨分区并行扇出查询等技术。

3.  缓存 – 通过将 Azure 缓存与数据访问层结合使用,可以更有效地从专用缓存存储和检索用户数据。

4.  配置 – 配置文件是实现应用程序无缝管理的关键,无论配置参数位于web.config 还是service.config – 这对于应用程序应该是透明的。

5.  应用程序请求路由 – 利用 IIS 中的 ARR(应用程序请求路由)技术,实现基于 Cookie 路由并将用户关联到多个托管服务和分区数据库,以在应用程序服务级别扩展为分区数据库。

6.  部署 – 通过使用 PowerShell 中的 Windows Azure Cmdlet,来将自定义配置部署到多个托管服务和可变数量的实例并配置分区数量的方法。

我们会将技术博客和详细信息发布到 TechNetWiki。期待您的评论和投稿。

本文翻译自:

http://blogs.msdn.com/b/windowsazure/archive/2013/06/21/building-blocks-of-great-cloud-applications.aspx

原文地址:https://www.cnblogs.com/new0801/p/6176396.html