写点什么

增大云中 ASP.NET 应用程序的规模

  • 2011-06-24
  • 本文字数:922 字

    阅读完需:约 3 分钟

在最近一次微软网络研讨会上,高级架构布道师 Brian Prince 和技术布道师 Nathan Totten 展示了几种可选的方案,用于扩展安装在 Windows Azure 上的 ASP.NET 应用程序。

主讲人指出,我们可以任意组合使用这些方案,从而增大或者减小应用程序的规模。这些方案可以归为几大类:缓存(caching)、流量分配(traffic distribution)、异步工作处理(asynchronous work processing)、以及存储(storage)。Prince 和 Totten 推荐使用以下一些方案组合来增大 ASP.NET 应用程序的规模:

增加 Azure 实例的数量
和增加虚拟服务器一样,这是分配负载最简单的方式。

增加 Table 或 Blob 存储
Table 存储是无模式(schema-less)且非关系型的存储,但是它比 SQL Azure 具有更高的可扩展性。正如 Totten 所说,Table 存储的每个分区在每秒内可以处理大约 500 个请求。而 Blob 存储则是一种非结构化的方案,对于大文件存储可能会很有用。

增加 AppFabric 缓存
AppFabric 用于在内存中缓存频繁访问的数据,而且还可以作为一种会话状态提供程序。

使用异步工作处理
Azure Queue 会向我们称之为“工人角色(worker roles)”的后台进程发送消息。在处理购物车或文件上传时,我们需要恰当地设置 Azure Queue;使得业务逻辑在后台处理,从而提升前端性能。队列的大小是有限制的,但是它可以与 Table 和 Blob 存储组合使用。

把静态或半静态内容放到 Azure 内容分发网络中
正如主讲人所说, Windows Azure 内容分发网络(CDN,Content Delivery Network)目前在世界上已有 26 个结点,而且会定期地增加更多结点。对于用户而言,把静态数据(或者并不经常更新的数据)放到 CDN 中可以提升性能,因为那些数据将会从距离用户最近的数据中心提取出来。

利用流量管理器
Windows Azure 流量管理器(Traffic Manager)与 CDN 类似,但并不用于存储内容,它在多个位置承载整个应用程序,以便在世界范围内提供更好的可用性。在主实例不可用的情况下,流量管理器也可用作灾备系统。

Prince 和 Totten 指出,应用程序可靠的初始设计永远是良好性能的关键所在,但 Windows Azure 的目的是让我们可以轻松地增大或减小应用程序规模,这也是某些组织在需求中所要求的。

查看英文原文: Adding Scale to ASP.NET Applications in the Cloud

2011-06-24 08:561440
用户头像

发布了 55 篇内容, 共 20.0 次阅读, 收获喜欢 1 次。

关注

评论

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

MySQL InnoDB存储引擎 - 事务

Axe

辟谣:程序员不配谈恋爱?你错的可以!真相来了

码农神说

程序员 漫画 相亲

循序渐进的中台研发

理帆

中台 业务中台

设计模式之单例模式和组合模式

dapaul

极客大学架构师训练营

RabbitMQ跨机房迁移数据零丢失

心平气和

RabbitMQ 消息队列

游戏夜读 | 《老残游记》很有趣

game1night

别兜售你自己不会购买的东西

Neco.W

创业 销售管理 销售

十五年后苹果再次变心

池建强

apple 苹果 芯片 wwdc

【在云端 002】云时代,何以安放我的个人数据

Bora.Don

云计算 云存储

就餐卡系统架构设计文档

牛珈羽

极客大学架构师训练营

工作那么久,才知道的 SOLID 设计原则

闻人

架构师 极客大学架构师训练营

【极客大学】【架构师训练营】【第二周】依赖倒置原则和接口隔离原则

NieXY

极客大学架构师训练营

多个maven项目启动顺序

terrytian

maven

设计原则与设计模式

dapaul

极客大学架构师训练营

每日一题-翻转字符串里的单词

程序员老王

LeetCode

SpringBean的生命周期

编号94530

Java spring Spring Boot 生命周期

LeetCode 655. Print Binary Tree

liu_liu

算法 LeetCode

基于业务表 Binlog 的事件驱动设计

理帆

MySQL 事件驱动 Binlog

好奇心, 优秀软件工程师的内核品质

亚伦碎语

读书感悟 随笔杂谈

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

清风徐徐

iOS & Android 去马赛克处理

liu_liu

ios android 去马赛克

线性表(数组、链表、队列、栈)详细总结

淡蓝色

Java 数据结构 算法 链表 线性表

食堂就餐卡系统设计

John

极客大学架构师训练营

第四周 学习总结

冯凯

【极客大学】【架构师训练营】【第二周】总结:设计原则

NieXY

极客大学架构师训练营

Redis系列(三):缓存过期该如何剔除?RDB和AOF又是什么?

z小赵

Java redis 高并发 高并发系统设计

查找算法系列文(一)一文入门二叉树

淡蓝色

Java 数据结构 算法 二叉树

wee1作业总结

牛珈羽

极客大学架构师训练营

centos7 操作

InfoQ_1c4a1f813eb1

区块链目前实际的应用场景汇总

CECBC

区块链技术 去中心化 应用场景

ARTS Week5

丽子

增大云中ASP.NET应用程序的规模_.NET_Jenni Konrad_InfoQ精选文章