写点什么

增大云中 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:561232
用户头像

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

关注

评论

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

收藏这36个正则表达式,开发效率提高80%

Tom弹架构

Java 正则表达式

推荐7款超实用的推特推特下载器,包括电脑和手机上使用(小伙伴们快快收藏起来)

So...

twitter 推特视频下载 推特

华为首次采用数字人全程实时手语直播,并宣布全面开放手语服务能力

叶落便知秋

实现服务器和客户端数据交互,Java Socket有妙招

华为云开发者联盟

socket 进程 服务器 客户端 java

模块一:为何架构设计能力难以提升? --学习总结

小鹿

netty系列之:netty对http2消息的封装

程序那些事

Java Netty 程序那些事 http2

1024程序员:算法&仓鼠&创业

博文视点Broadview

爱奇艺联合WSDM发起用户留存预测挑战赛

爱奇艺技术产品团队

0 基础架构入门 - 6(电商系统微服务架构)

felix

架构实战营 0 基础架构入门

基于 RocketMQ 的基金数字化陪伴体系的架构实践

阿里巴巴云原生

阿里云 RocketMQ 云原生 消息队列 金融场景

【KubeMeet 上海站回顾】 探索云原生应用管理与交付新解法

阿里巴巴云原生

阿里云 开源 云原生 KubeMeet

华为在HDC2021发布全新HMS Core 6 宣布跨OS能力开放

叶落便知秋

1024程序员节的正确打开方式

云智慧AIOps社区

程序员 开源技术 1024我在现场 飞鱼 云智慧

模块一作业

doublechun

「架构实战营」

阿里JAVA架构师面试136题含答案:JVM+spring+分布式+并发编程!

Java 编程 程序员 面试

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

李焕之

谐云边缘计算大规模落地实践,带你见证边缘的力量!

谐云

云计算 边缘计算

架构设计六 如何设计业务的微服务架构

nydia

微服务 架构设计

vivo AI 计算平台的 ACK 混合云实践

阿里巴巴云原生

阿里云 云原生 ACK Vivo

Python代码阅读(第44篇):寻找符合条件的元素的位置

Felix

Python 编程 Code Programing 阅读代码

零信任能力成熟度模型白皮书发布!内附下载资源

华为云开发者联盟

安全 隐私保护 华为云 网络架构 零信任

微信业务架构图 & 学生管理系统架构设计

Steven

架构实战营

电商系统微服务系统设计

Imaginary

顶会VLDB'22论文解读:多元时序预测算法METRO

华为云开发者联盟

数据库 华为云 多元时序预测算法 VLDB'22 华为云数据库创新Lab

美团的动态线程池,不依赖中间件可以实现么?

马丁玩编程

Spring Boot ThreadPoolExecutor

2021年秋季明道云伙伴大会,邀您参与!

明道云

云图说 | 分布式缓存服务DCS—站在开源Redis前辈的肩膀上,扬帆起航

华为云开发者联盟

redis 缓存 分布式 华为云 DCS

新征程、新时势、新聚变——2021一亩地儿合作伙伴大会在京成功举办

go-zero 实战之 blog 系统

万俊峰Kevin

golang 微服务 go-zero

Vue进阶(幺伍零):巧用 key 提升页面渲染性能及触发生命周期函数

No Silver Bullet

Vue 渲染性能 10月月更

第 23 章 -《Linux 一学就会》- expect - 正则表达式-sed-cut的使用

学神来啦

Linux Shell linux运维 linux云计算 linux一学就会

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