上周一个做电商的客户问我:他们网站挂了三小时,损失快二十万,有没有什么容灾方案能兜底?我问他现在用的是什么架构,他说就一台云服务器,数据每天备份一次到对象存储。这其实是很典型的有备份无容灾状态——备份解决的是数据丢不丢的问题,容灾解决的是服务断不断的问题。两者不能混为一谈。
三种容灾模式,到底差在哪
容灾方案按恢复速度从慢到快,基本分三档:冷备、热备、双活。
冷备是最基础的方案。备用服务器平时不开机或者开机但不跑业务,数据靠定期备份同步过去。出事了再启动、恢复数据、切DNS,整个过程可能要几小时甚至更久。优点是成本极低,适合那些停机半天也不心疼的展示类网站。
热备则是备用服务器一直开着,跟主服务器保持准实时同步。主库挂了,热备能接管,恢复时间可以压到分钟级。成本比冷备高不少,但对企业官网、中型电商这类停一两小时就丢客户的业务来说,性价比是合理的。
双活是最高级别——两套系统同时对外提供服务,没有主备之分,任何一个节点挂了,另一个无缝接管,用户几乎无感。但双活的技术复杂度和成本也是最高的,数据库要支持多活写入,网络要保证低延迟互通,一般只有金融、大型SaaS这类对可用性要求极高的场景才会上。
怎么选?看三个指标
第一个看RTO(恢复时间目标),也就是你能容忍停机多久。展示站可以接受几小时,选冷备;交易类业务分钟级就得恢复,选热备;不能停的,上双活。
第二个看RPO(恢复点目标),也就是你能容忍丢多少数据。每天备份一次,RPO就是24小时;实时同步,RPO接近零。对于订单、支付这类数据,RPO必须尽量小。
第三个看预算。冷备可能只多花一台服务器的钱,热备要翻倍,双活可能是三到四倍的成本。别为了追求最高可用而超配,匹配业务实际需求才是好方案。
我的建议是:先用冷备把数据迁移备份的底子打好,等业务量上来了再升级到热备,双活留到真正需要的时候再考虑。容灾不是一步到位的事,是跟着业务节奏走的过程。预算有限的话,先把冷备做扎实,比什么都强。