知识卡片

同城异区:应对机房级故障的最优架构,及其边界

普通读书笔记卡

内容

按地理距离,异地多活架构分同城异区、跨城异地、跨国异地三种。同城异区指把业务部署在同一城市不同区的多个机房(比如北京海淀区一个机房、通州区一个机房,用专用高速网络连接)。乍看之下,面对美加大停电、新奥尔良水灾这类极端灾难,同城异区似乎起不了作用——但它的价值恰恰就在”同城”两个字上:同城两个机房通常相距几十公里,通过高速专用网络连接,能达到接近同一个机房内部的网络传输速度,这意味着虽然物理上是两个地理位置,逻辑上却可以近似当作同一个机房来设计,这大大降低了异地多活的实现复杂度和成本。如果真的遇到新奥尔良水灾这种波及整个城市或区域的灾难,同城异区确实无能为力——但这类极端灾难发生的概率本来就很低,可能几年甚至十几年才发生一次;而机房火灾、机房停电、机房空调故障这类概率更高、破坏力同样不小的问题,同城异区恰恰能很好地应对。综合复杂度、成本和故障发生概率三方面权衡,同城异区是应对”机房级别故障”这个粒度问题的最优架构——它不是万能药,但用相对可控的代价,覆盖了发生概率更高的那一类风险。

参考来源

- 位置:《从零开始学架构》第28讲《业务高可用的保障:异地多活架构》"架构模式"之"同城异区"(源文件:_epub-src/OEBPS/text00002.html) - 结论依据:原文说明"同城的两个机房,距离上一般大约就是几十千米,通过搭建高速的网络,同城异区的两个机房能够实现和同一个机房内几乎一样的网络传输速度……这样的设计大大降低了复杂度",并指出"结合复杂度、成本、故障发生概率来综合考虑,同城异区是应对机房级别故障的最优架构",直接支撑本卡片结论。 - 原始内容:同城的两个机房,距离上一般大约就是几十千米,通过搭建高速的网络,同城异区的两个机房能够实现和同一个机房内几乎一样的网络传输速度……结合复杂度、成本、故障发生概率来综合考虑,同城异区是应对机房级别故障的最优架构。