云托管应用软件的设计模式

微软的模式与实施方案团队最近发布了一个指南,为云托管应用软件开发提供推荐的解决方案和模式。该指南讨论了每种模式适用于解决哪些问题、它的优点和可能导致的负面影响。尽管其例子主要面向Windows Azure,但该团队希望指南能够不限定于某种云平台,而是适用于各种分布式系统。\

该团队通过搜集和分析开发者社区的反馈,将云应用软件开发过程中最常见的问题分为8大类:\

  • 可用性\
  • 数据管理\
  • 设计与实现\
  • 消息\
  • 管理与监控\
  • 性能与可扩展性\
  • 快速恢复能力\
  • 安全

该团队对每一类问题都提供了指导并说明了常见的模式,以帮助开发人员解决那些经常遇到的问题。\

该指南包括十个基础性指导专题,提供相关的基础知识和良好的实战技术。每个专题都涉及应用开发的某一个方面,并针对某一类问题。专题涉及异步消息、缓存和数据一致性等等。\

指南中还包含了24种对于云托管应用软件非常有用的设计模式,每种模式都针对前面提到的一类或者几类问题。这些设计模式包括补偿事务(Compensating Transaction)、命令查询职责分离(CQRS)、管道过滤器(Pipes and Filters)等模式。所有模式都采用统一的格式进行描述,包括该模式适用的上下文环境和针对的问题、解决方案以及采用该模式需要注意的事项和可能导致的问题。每种模式都提供了一个基于Azure的例子。\

为了演示这些设计模式的使用方法,该团队还创建了十个示例应用,所有源代码可在这里下载。其中一个示例应用演示了有竞争关系的消费者如何从服务总线读取消息,另一个应用则演示使用过滤器来模拟管道。\

该团队强调这些例子都非常简单,并不是为生产用途设计的。\

Windows Azure是微软公司的云平台。\

原文英文链接:Design Patterns for Cloud-Hosted Applications

\

感谢梅雪松对本文的审校。

\

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至[email protected]。也欢迎大家通过新浪微博(@InfoQ)或者腾讯微博(@InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。

你可能感兴趣的:(云托管应用软件的设计模式)