写点什么

云计算应用程序的几点设计准则

  • 2009-11-17
  • 本文字数:952 字

    阅读完需:约 3 分钟

不论是在 Google App Engine 还是 Engine Yard 创建新的应用程序,或是移植现有程序到其他平台上,如何设计一个好的运行在运计算平台之上的应用程序都值得我们认真思考。

如何让云平台应用程序更好的架构而提升价值? InfoWorld 在最近的云计算的应用程序设计参考一文中提出了以下几点:

1. 尽量使用三层架构 。通过云计算平台,你可以把应用程序的不同组件,数据库,商业逻辑,用户界面等放在不同的平台提供商那里,每层之间相互独立,当然你也可以都放到一个平台上,但最主要的是你可以根据不同的云平台的特点分别地部署以最大化的提高性能降低成本。

因程序,因平台制宜,比如有的云平台数据库服务又便宜又稳定,而有的云平台应用层负载均衡做得好,那你完全可以分开部署获得最优的方案。

2. 架构之间要松散耦合。如果你使用了三层架构, 你要尽量减少它们之间的偶合和依赖,这样也能使你的架构更加敏捷,进一步给提高性能和降低成本提供了空间和可行性。

想象如果你的数据库读写数据的代码嵌入在应用层或表示层,你根本就没太可能去分开部署数据库,应用和 Web 服务器。

3. 别忘了组件间的通信。分布式应用程序间的组件通信是必不可少的。对于一个组件频繁互相调用的“健谈”程序,如果在同一个或专门定制平台上部署运行是比较容易的,但是对于不同的云平台,这样的程序如果分层分别部署的话,很容易导致延迟。

Web 应用程序的延迟除了会导致各种功能上,性能上的问题之外,用户体验的降低是一个不可接受的方面。所以设计架构的时候要确保程序内部的组件通信的性能,比如使用类似于消息队列的异步通信机制。

4. 避免平台特有的特不论是在 Google App Engine 还是 Engine Yard 创建新的应用程序,或是移植现有程序到其他平台上,如何设计一个好的运行在运计算平台之上的应用程序都值得我们认真思考。

尽管你把应用程序部署在云平台上,但你并不希望过度依赖或被特定云平台厂商控制,对吧?

也许你会说这些是老生常谈,但是如果你能够用它们来指导你的云计算平台应用程序架构,将会使它们更有价值。

的确三层架构是非常适合云平台的,特别是在厂商不断推出新的云平台的情况下,你就会像以前变换着选数据库或 Web 服务器那样不断的想尝试新的云平台。

所以别让你的应用程序太耦合,太依赖,太云平台相关,否则换个云平台,你原先的程序和架构可能就一钱不值。

2009-11-17 20:584166
用户头像

发布了 42 篇内容, 共 16.4 次阅读, 收获喜欢 4 次。

关注

评论

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

DDD实战(11):冲刺1代码TDD实现之道

深清秋

DDD 软件架构设计 生鲜电商系统 7月月更

【刷题记录】6. Z 字形变换

WangNing

7月月更

【Docker 那些事儿】如何安全地进入到容器内部

Albert Edison

Docker Kubernetes 容器 云原生 7月月更

图解网络:什么是 DNS 域名系统?

wljslmz

网络协议 DNS 网络技术 7月月更 域名系统

Python绘制精美可视化数据分析图表(一)-Matplotlib

迷彩

Python 可视化 matplotlib 7月月更

不习惯的Vue3起步二 の alias别名、ref和reactive

空城机

Vue3 7月月更

读书笔记之《深入理解Java虚拟机:JVM高级特性与最佳实践》

菜农曰

Java JVM 后端开发 后端技术

【LeetCode】装满杯子需要的最短总时长Java题解

Albert

LeetCode 7月月更

拆分电商系统为微服务

Pengfei

批量处理数据神器——Java数组与引用

未见花闻

7月月更

架构实战营模块 6 作业

星夜

架构实战营

分布式事务(Seata)原理 详解篇,建议收藏

牧小农

Cgroup cpu,cpuacct子系统

总想做点什么

架构实战营模块六作业

融冰

【C 语言】进阶指针 Three

謓泽

7月月更

源码阅读

ES_her0

7月月更

架构实战营|模块6

KDA

#架构实战营

spring 循环依赖

急需上岸的小谢

7月月更

有赞们的逻辑变了吗?

科技新知

小程序视图容器

小恺

7月月更

小程序电商业务微服务设计与基础设施选型

Geek_e8bfe4

kafka 生产者分区策略演进

布兰特

kafka

《看完就懂系列》谈谈数据埋点的原理与实现

南极一块修炼千年的大冰块

7月月更

电商系统微服务拆分(架构实战营 模块六作业)

Gor

Mac M1 投屏软件scrcpy

IT蜗壳-Tango

7月月更

Java基础:集合框架之Collection(List,Set)

百思不得小赵

集合 Java’ 7月月更

电商系统微服务拆分

地下地上

架构师实战营

动态注册广播流程学习

北洋

Andriod 7月月更

聊聊消息中心的设计与实现逻辑

知了一笑

Java 架构

SkyWalking原理浅析

技术小生

APM Skywalking 性能监控 7月月更

【玩转 RT-Thread】线程管理原理

攻城狮杰森

7月月更 RT-Thread

  • 扫码加入 InfoQ 开发者交流群
云计算应用程序的几点设计准则_架构_晁晓娟_InfoQ精选文章