随笔 - 934, 文章 - 0, 评论 - 249, 阅读 - 345万

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

同城多机房部署架构

Posted on   蝈蝈俊  阅读(39)  评论(0编辑  收藏  举报

为满足用户对服务持续性响应速度的高要求,很多企业采用同城多机房部署架构。该架构通过在同一城市内的多个数据中心部署业务,提升系统的容灾能力和性能

容灾能力提升

  • 故障隔离:当一个机房发生故障时,其他机房可继续提供服务。
  • 数据冗余:数据在多个机房间同步,防止数据丢失。

降低延迟

  • 地理优势:同城机房间距离近,网络延迟低。
  • 用户体验:提高本地用户的访问速度。

负载均衡

  • 资源优化:根据机房负载情况,动态分配请求。
  • 弹性扩展:快速应对流量峰值,提升系统弹性。

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部署,都会承担。以此为理由,更应该做到多AZ部署。

结论

同城多机房部署架构在提高系统容灾能力、降低网络延迟和优化资源利用等方面具有显著优势。

然而,企业在实施该架构时,需要综合考虑成本、技术复杂度和业务需求。通过合理规划和设计,可以最大限度地发挥同城多机房部署的优势,为用户提供高可用、高性能的服务。

相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示
历史上的今天:
2023-10-11 测试某个python库是否正常导入
2013-10-11 nginx 的模块及处理流程
点击右上角即可分享
微信分享提示