为满足用户对服务持续性和响应速度的高要求,很多企业采用同城多机房部署架构。该架构通过在同一城市内的多个数据中心部署业务,提升系统的容灾能力和性能。
容灾能力
- 故障隔离:当一个机房发生故障时,其他机房可继续提供服务。
- 数据冗余:数据在多个机房间同步,防止数据丢失。
降低延迟
- 地理优势:同城机房间距离近,网络延迟低。
- 用户体验:提高本地用户的访问速度。
负载均衡
- 资源优化:根据机房负载情况,动态分配请求。
- 弹性扩展:快速应对流量峰值,提升系统弹性。
AZ 可用区
在多机房部署架构中,经常听到多AZ部署,这里的AZ是 Availability Zone(可用区)的缩写。
可用区(Availability Zone,简称AZ)是指在同一地理区域内,具备独立电力、网络和冷却系统的物理数据中心。每个可用区都是一个逻辑隔离的区域,多个可用区之间通过高速网络互联。
可用区的特点
- 物理隔离:避免单点故障的影响。
- 高速连接:低延迟的网络连接,支持数据同步和负载均衡。
- 独立性:独立的基础设施,提升容灾能力。
AZ间距离
在多AZ部署的情况下,对可用区(AZ)之间的距离有一定的要求,以确保在平衡高可用性、低延迟和容灾能力时达到最佳效果。
1、灾害物理隔离要求
可用区之间的距离足够远,以确保一个区域内的自然灾害或系统故障不会影响其他区域。这通常意味着它们会分布在不同的建筑或城市,但在同一地理区域内(如同一国家或省份)。
2、网络延迟要求
可用区之间的距离不能过远,以避免过高的网络延迟,因为应用需要在这些区域之间快速同步数据或协调服务。
云服务提供商设计的AZ之间的网络通常具有低延迟和高带宽,以支持这种数据同步。
通常,AZ之间的延迟通常需要保持在单毫秒(ms)级别。
实际距离
在实际的云服务中,不同云服务提供商对AZ之间的物理距离有不同的标准,在数十公里到几百公里之间。
一般情况下,30公里到50公里的范围比较常见,因为它在确保容灾能力的同时,也能提供低延迟的网络连接。这种距离足够应对大多数灾害(如电力中断、洪水等),同时保持了区域内通信的高效性。
更大距离的部署
如果需要更大规模的容灾(如地震、台风等区域性灾害),则通常会考虑跨地域(Region)的部署。这意味着数据中心可能相隔数百甚至上千公里,但这会增加延迟,因此通常用于灾备(Disaster Recovery)场景,而不是日常的多可用区部署。
延迟计算
两个AZ之间的延迟主要由:光在光纤中的传播速度和中间网络设备(如路由器、交换机等)处理时间组成。
可以通过以下步骤计算两个AZ之间的光纤传输延迟。
1、光纤中的传播耗时
光在光纤中的传播速度约为光速的2/3。光速在真空中的速度约为300,000公里/秒,因此光在光纤中的传播速度为:200,000公里/秒。
光纤中的传播延迟可以通过以下公式计算:
传播延迟(秒)= \frac{距离(公里)}{光纤中的传播速度(公里/秒)}
30公里的光纤耗时
传播延迟(秒)= \frac{30}{200000} ≈ 0.00015秒 = 150微秒
50公里的光纤耗时:
传播延迟(秒)= \frac{50}{200000} ≈ 0.00025秒 = 250微秒
2、考虑网络设备的处理延迟
在实际网络中,除了光纤传播延迟外,还有一些额外的延迟来自中间的网络设备(如路由器和交换机)的处理时间。虽然现代设备的延迟通常很小,但这些延迟可能加在一起使总延迟增加几个微秒。
通常,我们可以假设每次路由和交换的延迟在几微秒到十几微秒之间。
如果两个AZ之间的网络相对简单,中间没有很多节点,处理延迟不会显著影响总延迟。
3、计算延迟
在网络通信中,延迟通常指的是往返延迟(Round Trip Time, RTT),即数据从源点发送到目的地,再从目的地返回源点的总时间。
假设网络设备的处理时间(10微秒),往返通讯经过两次网络设备,两倍距离。所以处理延迟也乘以 2。
30公里的总往返延迟
总往返延迟 ≈ (150×2)微秒+(10×2)微秒=320微秒=0.32毫秒
50公里的总往返延迟
总往返延迟 ≈ (250×2)微秒+(10×2)微秒=520微秒=0.52毫秒
考虑往返时间的情况下,30到50公里两个AZ之间的光纤传输往返延迟大约在0.32毫秒到0.52毫秒之间。这是理论值,实际情况可能会因为网络复杂性和其他因素略有不同。
标签:架构,同城,机房,往返,容灾,微秒,AZ,光纤,延迟 From: https://www.cnblogs.com/ghj1976/p/18458292/tong-cheng-duo-ji-fang-bu-shu-jia-gou