冗余备份相关

设计篇-冗余备份

工程学里有一个叫冗余备份的模型,在工程领域,航空领域,计算机领域大规模的都有应用。

比如航空领域里民航飞机一定会是两个引擎, 两份操作系统。计算机领域里,我们的同城双机房,单元化异地多机房都是为了应对单点故障风险。为了提升系统的高可用性,在取得成本投入与高可用保障的平衡前提下,尽可能的对最核心的系统依赖做多份冗余。我们在做日常需求中,为了满足功能的实现,往往会引入很多跨进程的外部依赖,每引入一个依赖就多一个故障点。

一些特别重要的功能,比如像用户下单支付、淘宝交易,由于这些功能对系统的高可用性要求极高,满足可用性的收益远远大于做冗余备份所付出的成本。

最佳实践

对应用的外部依赖进行整理,依赖最小化,重要依赖组件(如 MQ)增加冗余备份机制。