写点什么

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

2014 年 2 月 13 日

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

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

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

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

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

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

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

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

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


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

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

2014 年 2 月 13 日 09:40983

评论

发布
暂无评论
发现更多内容

架构师训练营 - 第三周学习总结

joshuamai

8张图带你分析Redis与MySQL数据一致性问题

Java架构师迁哥

架构师训练营 第三周作业(手写单例模式)

springH₂O

架构训练营

架構師訓練營第 1 期 - 第 07 周總結

Panda

架構師訓練營第 1 期

Week 7 作业一

黄立

手把手教你如何在Windows安装Anaconda

计算机与AI

Python Anaconda

区块链usdt承兑商支付系统开发,usdt跑分系统搭建

WX13823153201

穿越时空的回响:华为欧洲创新日的蝴蝶振翅

脑极体

科学家联合提出基于区块链的追溯框架

CECBC区块链专委会

区块链 农业

week3 代码重构 学习总结

杨斌

解决大中型浏览器(Chrome)插件开发痛点:自定义热更新方案——1.原理分析及构建部署实现

梁龙先森

Java chrome 前端 浏览器 技术方案

第三周作业

丁乐洪

Week 7 性能优化总结

黄立

1分钟带你解锁Angular

Leo

学习 前端 angular 前端进阶训练营

6年Java开发经验,蚂蚁金服面试3+2次,最终有惊无险通过!(已拿offer)

Java架构之路

Java 程序员 架构 面试 编程语言

GrowingIO 响应式编程探索和实践

GrowingIO技术专栏

响应式编程

WSL还是不错的

孙苏勇

WSL2 工具链 wsl

架构师训练营 - 第三周课后练习

joshuamai

区块链追溯系统迎来新突破

CECBC区块链专委会

区块链 溯源 产品溯源

查漏补缺:166个最常用的Linux命令,哪些你还不知道?

小Q

Java Linux 程序员 操作系统 开发

GitHub上超牛的Java进阶教程,汇总Java生态圈常用技术框架、开源中间件,系统架构、数据库、大公司架构案例、常用三方类库、项目管理、线上问题排查、个人成长、思考等知识

Java架构之路

Java 程序员 架构 面试 编程语言

【涂鸦物联网足迹】物联网主流通信方式

IoT云工坊

人工智能 云计算 大数据 物联网 云平台

【涂鸦物联网足迹】涂鸦云平台全景介绍

IoT云工坊

人工智能 云计算 大数据 物联网平台 物联网

week3 代码重构 -作业一

杨斌

一道比较运算符相关的面试题把我虐的体无完肤

Gopher指北

https 握手失败问题排查全记录

lockdown56

nginx https 网络 HTTP 抓包

在Idea中使用JUnit单元测试

jiangling500

单元测试 IDEA JUnit

架构师训练营 - 第 7 周课后作业(1 期)

阿甘

极客大学 - 架构师训练营 第七周作业

9527

区块链将颠覆和改变传统金融业底层逻辑

CECBC区块链专委会

区块链 数字经济

从广西的新基建耕种,读懂一颗名为智能体的种子

脑极体

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