【转】说说云计算中的地域和可用区概念

原文连接: 说说云计算中的地域和可用区概念html

亚马逊 AWS 是公共云计算的先驱,一些云计算中重要的产品设计和基础概念能够说都是亚马逊引入的。这其中有两个很是重要的概念:地域(Region)和可用区(AZ:Availabe Zone)。不少第一次接触云计算的同窗,光看这两个名字的字面意义,虽然也可以猜出大体的意思,但深刻的学习了解云计算一段时间以后,才能深入的体会这两个概念对于云计算的重要影响。包括国内的这些云计算服务商,也是过了很长时间才陆续在产品中引入可用区的设计的。mysql

理想状况下,咱们固然但愿云计算可以完全消除地域的影响,就像咱们用电的时候不用关心发电厂在哪里同样。但现实显然没有那么美好,不一样地域的机房之间的网络还作不到像电网同样透明。因此在云计算产品的最底层,首先须要考虑不一样地域的影响。不一样地域之间,通常只能经过公网连通,内部之间网络是不通的。固然,对于云计算服务商来讲,为管理须要,通常仍是会经过有限的带宽来连通不一样地域的机房,用于云计算内部资源管理,以及一些特殊的产品场景,好比跨地域的镜像复制。但由于内部带宽有限,通常不会彻底开放给用户使用。sql

因此,地域就是物理意义上的不一样地方的机房,这个不一样地方,通常来讲距离较远,机房之间用光纤直连的成本较高。而且相对来讲会在用户需求量较大的地方部署地域机房,好比阿里云的云服务器的地域在境内有杭州,上海,北京,深圳,青岛,海外已经上线的包括香港、硅谷和新加坡。实际上阿里云一开始是没有上海地域的,由于上海杭州距离较近,部署直连光纤的成本也相对可控,阿里内部以前不少应用都是分别部署在杭州和上海,基本上是看成一个地域来使用的,后来可能由于需求大而分开了。shell

因此,地域很好理解,就是物理上相隔较远的机房,由于跨地域的机房之间的带宽没法知足内网需求,因此不一样地域的机器之间内网是不通的。固然,随着骨干网络等物理层基础设施的发展,将来跨地域内网连通并不是彻底不可能的事情。在这个过程当中,公共云计算服务商也可能根据用户的诉求,在某些场景开放一些有限的内部网络带宽来作产品,好比,前面说的阿里云的跨地域镜像复制,以及最近推出来的OSS跨地域复制等。通常来讲,在数据和存储领域内的产品会先行支持跨地域的功能,毕竟数据容灾是更强烈的需求。数据库

那么,同一个地域以内又分红多个可用区,为何要搞这么复杂?缘由很简单,IT系统从远古时代就有同城容灾的需求,那使用云计算之后,怎么实现同城跨机房容灾呢?若是用户购买的云服务器没法区分在哪一个机房,那么就没法在业务应用层面来设计同城容灾。因此云计算服务商提出了同地域内不一样可用区的概念,简单点理解,能够认为就是同城不一样机房,云计算服务商会从底层的机房电力/网络等层面仔细设计来保障一个可用区出现故障的时候不会影响到另一个可用区,固然你要说杭州完全被钱塘江潮淹没的状况,那可用区也救不了你,要在业务应用层面考虑经过不一样的地域来设计异地容灾了。服务器

因此,简单来讲,能够将地域理解为不一样城市的机房,将可用区理解为同一个城市的不一样机房。固然,实际上不一样可用区也多是在同一个机房,可用区的概念严格来讲是按照电力和网络设备等相互独立来设计的。同一个地域内的不一样可用区之间,内网是连通的,可是网络的响应时间会有差别。下面是我用阿里云杭州地域作的一次 ping 的测试,来观察同地域不一样可用区之间的网络状况。网络

主机1在杭州可用区 B,主机2在杭州可用区 D,数据库 1 在杭州可用区 B。同一个可用区内,从主机 1 ping 数据库 1 的结果以下:学习

ping rdsxxx.mysql.rds.aliyuncs.com
PING rdsxxx.mysql.rds.aliyuncs.com (100.98.xx.xxx) 56(84) bytes of data.
64 bytes from 100.98.xx.xxx: icmp_seq=1 ttl=56 time=0.260 ms
64 bytes from 100.98.xx.xxx: icmp_seq=2 ttl=56 time=0.472 ms
64 bytes from 100.98.xx.xxx: icmp_seq=3 ttl=56 time=0.396 ms

同地域跨不一样可用区,从主机 2 ping 数据库1 的结果以下:测试

ping rdsxxx.mysql.rds.aliyuncs.com
PING rdsxxx.mysql.rds.aliyuncs.com (100.98.xx.xxx) 56(84) bytes of data.
64 bytes from 100.98.xx.xxx: icmp_seq=1 ttl=54 time=1.63 ms
64 bytes from 100.98.xx.xxx: icmp_seq=2 ttl=54 time=1.73 ms
64 bytes from 100.98.xx.xxx: icmp_seq=3 ttl=54 time=1.74 ms

很明显,不一样可用区之间的内网是连通的,但响应时间比同一个可用区以内要慢 1ms 多。因此,在实际应用中,若是须要考虑同城容灾或者同城双活,须要尽可能将应用和数据库分布部署在不一样的可用区。若是对响应时间高度敏感,则建议部署在同一个可用区内。在购买云服务器和数据库的时候,要注意选择了。大数据

另外,目前阿里云大数据平台主要部署在杭州地域,若是业务应用的数据须要进入到阿里云大数据平台加工处理,则云服务器和数据库最好优先在杭州地域购买,之后阿里云应该会在更多地域部署大数据平台。不过悲催的是,杭州机房资源总体上比较紧张,杭州地域的云服务器时不时可能断供一小段时间。

总结

这里写一下本身对「地域」和「可用区」的理解:

这两个概念都是对管理的主机的的一个区域的划分。「地域」这个划分的范围比较大,比如一个城市圈的范围。那么「可用区」这个范围能够理解为城市圈中的一个个小区。这个小区住不下了,能够去另一个小区住。同一个地域里,可用区之间访问是方便、快捷的,因此,一个服务部署时,经常须要在同一「地域」下的不一样「可用区」中都部署一下,这样一个挂了、另一个能够撑起来,不至于服务全挂了。

补充资料

相关文章
相关标签/搜索