asp.net – 正常与云/ Azure托管和SQL Azure与SQL Server的角色

首先让我明确一点,我不是来自网络背景,所以如果我对它的工作原理的任何理解不正确请随时纠正我

假设我有一个网站,我想在云上托管,因为

- I don't want to take care of hardware
- I want to scale my website as needed

现在,在这种情况下,我对SQL Server的角色与SQL Azure的角色有点混淆.

普通网页寄存

当我想到一个普通的网站时,我知道我需要一个托管我的网站的主机/服务器.主机应该能够支持SQL Server.出于扩展目的,我将不得不在多个服务器上托管我的网站/ ASP页面.同样,如果我想扩展我的SQL Server,我将不得不在多个服务器上托管它,并且必须通过某种机制确保所有服务器中的数据是最新的.

基于云的托管

现在我想我也可以在Cloud / Azure上设置类似的结构.如果是,在这种情况下我会使用云的真正功能吗?

或者我应该使用SQL Azure而不是SQL Server?在这种情况下我会得到什么好处?我是否还要负责扩展和数据的一致性?我知道我可以通过设置VM /实例的数量来扩展网站,但是关于数据库的扩展呢?

编辑
感谢Florin Dumitrescu我想要使用的术语是Scaling Out,因为我更关心的是性能,而不是我的数据库在大小方面有多大.我更关心数据库如何在不同服务器/系统之间扩展以适应负载,从而产生更好的性能

解决方法

正如Yossi所提到的,SQL Azure是一种数据库即服务.因此,您只需要配置它,发生魔术,并且您有一个数据库,可以从1GB扩展到5GB,10GB,一直到50GB(很快就会达到150GB,在SQL PASS上为 announced).关于SQL Azure的好处:您不必担心任何基础架构,服务器,许可等.您只需连接您的连接字符串即可. SQL Azure旨在可扩展以处理大量并发租户,因此您不必担心扩展.

SQL Azure还在数据中心复制其数据,以提供“持久”存储.如果数据中心不可用(您可以使用Data Sync服务),您仍需要设计灾难恢复方案.

对于您的网站本身:当您扩展到多个实例时,每个实例运行相同的代码并使用相同的资源.更进一步,您可以将静态(不变)Web内容(如图像和CSS)移动到Blob存储.与将其存储在网站本身相比,这有几个优点:

>能够启用内容交付网络,这是一种全球边缘缓存服务,可为最终用户提供更好的性能
>减少Web服务器实例的压力,因为对这些图像的请求现在将被定向到Blob存储,这是一个与您的网站完全不同的URL
>无需重新部署应用程序即可更新图像或样式表 – 只需将新文件上载到Blob存储即可.

我强烈推荐Windows Azure Platform Training Kit,因为有些实验室会带您了解所有这些的基础知识,并提供完整的代码示例.这几乎每月更新一次,与最新的Windows Azure SDK和工具保持同步.

相关文章

引言 本文从Linux小白的视角, 在CentOS 7.x服务器上搭建一个...
引言: 多线程编程/异步编程非常复杂,有很多概念和工具需要...
一. 宏观概念 ASP.NET Core Middleware是在应用程序处理管道...
背景 在.Net和C#中运行异步代码相当简单,因为我们有时候需要...
HTTP基本认证 在HTTP中,HTTP基本认证(Basic Authenticatio...
1.Linq 执行多列排序 OrderBy的意义是按照指定顺序排序,连续...