云计算之路-阿里云上:地域与可用区

昨天有位朋友问购买阿里云服务器时如何选择可用区,之前我们也没搞明白可用区是怎么回事。于是借此机会研究了一下,通过这篇博文分享一下我们的理解,不对之处欢迎指出。

地域(Region)与可用区(Availability Zone)是云服务商划分自己所拥有的物理计算资源(数据中心)的一种方法,就如城市与小区是房地产开发商划分自己房产的一种方法。

地域通常按照数据中心所在的城市进行划分,而同一地域下的多个数据中心又进一步按照可用区进行划分。如果把数据中心比作住宅,那地域就是城市,可用区就是小区。购买服务器时选择地域与可用区,就如购房时选择城市与小区。

选择地域里需要注意2个问题:

1. 不同地域之间的服务器内网是不通的,若要进行网络通信只能走公网,不仅网络延迟大,而且要支付额外的带宽费用。

2. 离用户越近的地域,网络延迟越小。所以要根据网站访问用户的地区分布进行选择。

地域的选择很简单,但很重要,一旦选定了地域,后续的服务器都应该放在这个地域。

而可用区的选择却让不少人困惑。

在阿里云官网上是这么解释“可用区”的:

在同一地域下,电力、网络隔离的物理区域,可用区之间内网互通,不同可用区之间故障隔离。如果您需要提高应用的高可用性,建议您将实例创建在不同的可用区内。

为了方便理解,我们进行不太准确的简化,电力、网络隔离的物理区域通常都是机房,因此简化为:可用区是一个机房,不同可用区就是不同的机房。选择可用区,就是选择服务器(ECS)放在哪个机房?

可用区带来的好处是跨机房的容错。比如1个SLB下面挂2台服务器,分别放在不同的可用区(机房),假如其中1台服务器所在的整个机房出现故障,由于另外一个可用区下的服务器不受影响,所以网站依然能正常运行。也就是通过可用区可以实现跨机房的负载均衡与热备。

而为此要付出的代价是不同可用区的服务器之间内网通信的延迟会有一点增加,但这个延迟(据了解是1-3ms)通常是能接受的。

所以,对于性能要求不是非常苛刻的应用场景,将服务器部署在不同可用区是一个“不把鸡蛋放在一个篮子里”的更好选择。

另外,由于一个机房能容纳的服务器数量毕竟是有限的,即使你现在刻意将服务器放在同一个可用区。但当这个可用区“车位已满”时(服务器都被占用),你后续增加的服务器也将不得不放在不同的可用区。

写到这里,又抑制不住吐槽的冲动。阿里云是这么命名可用区的:可用区A,可用区B,可用区C;如果房地产开发商也这样命名住宅小区:小区A,小区B,小区C,你还有购房的欲望吗?如果将杭州的可用区命名为滨江可用区,转塘可用区,体验上是不是更友好呢?

另外,如果以地图的方式让用户可视化地选择可用区,是不是更酷一些呢?

就写到这,欢迎大家补充对地域与可用区的理解。

时间: 2024-08-04 03:45:37

云计算之路-阿里云上:地域与可用区的相关文章

云计算之路-阿里云上:Wireshark抓包分析一个耗时20秒的请求

这篇博文分享的是我们针对一个耗时20秒的请求,用Wireshark进行抓包分析的过程. 请求的流程是这样的:客户端浏览器 -> SLB(负载均衡) -> ECS(云服务器) -> SLB -> 客户端浏览器. 下面是分析的过程: 1. 启动Wireshark,针对内网网卡进行抓包. 2. 在IIS日志中找出要分析的请求(借助Log Parser Studio) 通过c-ip(Client IP Address)可以获知SLB的内网IP,在分析Wireshar抓包时需要依据这个IP进

云计算之路-阿里云上:超过70秒的请求抓包分析

超过70秒的请求是通过分析IIS日志发现的: 10.159.63.104是SLB的内网IP. 通过Wireshark抓包分析请求是9:22:21收到的(tcp.stream eq 23080): 09:22:21.299838000 10.159.63.104 10.161.241.208 HTTP 291 GET /eastsea/p/3764040.html HTTP/1.0 这个请求响应内容的长度是:Content-Length 1154110(1.1MB) 云服务器(ECS)在收到请求后

云计算之路-阿里云上:对“黑色n秒”问题的最终猜想——CPU C-states引起的

如果说2013年云计算之路的主题是"踩坑",那么2014年我们希望云计算之路的主题变成"填坑"--当然填坑是阿里云来完成的,我们只是见证曾经的坑坑洼洼变成平坦大道. 15号(周四)晚上我们发现了SLB会话保持的坑,16号晚上阿里云成功定位并进行修复,这两天正式发布后会填平这个坑.这次从踩坑到填坑的过程是最痛快的一次. 接下来我们的目标锁定在"黑色n秒"(刚发现一个英文说法:stuck for x seconds)这个坑我们最多.最神秘.最诡异的坑

云计算之路-阿里云上:CPU 100%引发的状况

今天下午17:00-17:05之间,在请求量没有明显变化的情况下,SLB中的1台云服务器的CPU突然串到100%(当时SLB中一共有3台云服务器),见下图: 造成的直接后果是请求执行时间变得超长,最长竟然达到了53秒(下图中的紫色线条). 另外伴随的表现是大量请求排队. 再看看这个时间段其它2台服务器的表现: 从这些现象分析,我们猜测CPU 100%这台云服务器出现了CPU资源争抢问题,将之从SLB中摘除后恢复正常. 云计算之路-阿里云上:CPU 100%引发的状况,布布扣,bubuko.com

云计算之路-阿里云上:什么是“黑色1秒”?

为了更好地分享我们解决"黑色1秒"问题的过程,在这篇博文中我们将专门描述一下"黑色1秒"问题的表现. "黑色1秒"是我们使用阿里云以来继"黑色10秒"之后遭遇的最奇特.最诡异.最难以捉摸.最富有戏剧性的问题. 它有2个最显著的特征: 第一个是最直观的表现,在Windows性能监视器(Performace Monitor)中会出现1秒的ASP.NET Applications -> Requests/Sec(简称QPS)为

云计算之路-阿里云上:消灭“黑色n秒”第一招——不让CPU空闲

昨天对"黑色n秒"问题的最终猜想以失败而告终,从而让我们结束了被动猜想阶段,进入了主动进攻阶段--出招. 今天出第一招--用C#写个小程序,让其在每个CPU核上运行一个线程,不让任何一个CPU核进入空闲(idle)状态,以进一步排除CPU idle引起的"黑色n秒". 在这一招中,借助的最重要的武器是System.Diagnostics.ProcessThread.ProcessorAffinity.通过给ProcessorAffinity设置一个掩码,就可以指定当

云计算之路-阿里云上:消灭“黑色n秒”第二招——给w3wp进程指定CPU核

虽然昨天的第一招失败了,但是从失败中我们学到了与多核CPU相关的Processor Affinity(处理器关联)的知识. 既然我们可以让.NET程序的不同线程运行于指定的CPU核,那是不是也可以让IIS应用程序池的进程w3wp运行于指定的CPU核? 虽然看起来"黑色n秒"似乎与w3wp运行于哪些CPU核没有什么关系,但是我们既然把怀疑对象锁定在CPU,那么任何与CPU相关的线索都不能放过.即使失败,也会满载而归,因为如果没有"黑色n秒"这个问题的驱动,我们根本不会

云计算之路-阿里云上:“黑色1秒”问题与2009年Xen一个补丁的故事

在之前对"黑色1秒"问题的分析博文中,我们将最大嫌疑对象锁定在了Xen,在这篇博文我们将从Xen的角度进行分析.也许有人会问,为什么不知道天多高地多厚地去研究不属于自己范围的问题?只因我们对一个问题的强烈好奇心--究竟是不是我们用Windows的错? 2009年3月20日,来自Intel的Yu Ke通过Xen-dev Mailing List给来自Citrix的Keir Fraser(负责的Xen开发者之一)发了一封邮件,提交了Xen的一个patch--cpuidle: suspend

云计算之路-阿里云上:负载均衡从七层换成四层后的意外发现

阿里云的负载均衡产品叫SLB,七层负载均衡用的是LVS+Tengine,四层负载均衡用的是LVS. 昨天七层SLB出现了波动,我们后来改用了四层SLB. 使用后意外地发现,用户请求的响应内容TCP出包走的是云服务器的公网网卡. 之前用七层SLB时流量走的都是内网网卡,再加上RDS.Memcached也走的是内网网卡,于是网络负载都集中在一块内网网卡,内网网卡IO成为了瓶颈.而公网网卡却闲置着,我们之前也曾想过要是将一部分网络负载让公网网卡分担该多好啊. 我们用物理服务器的时候,会把Web服务器上

云计算之路-阿里云上:“黑色1秒”最新线索——w3tp与w3dt

向大家分享一下最近排查"黑色1秒"问题的进展,"黑色1秒"的问题表现详见什么是黑色1秒. 1. 发生在w3wp进程内 判断依据:"黑色1秒"期间,http.sys的HTTP Service Request Queues\ArriveRate正常,W3SVC_W3WP\Requests/Sec正常. 2. 请求未进入.NET线程池 判断依据:"黑色1秒"期间静态文件的请求也不能被处理,如果"黑色1秒"发生在.