Serverless 实战:通过 Component 实现多地域部署容灾

单点故障是实际生产中无法避免的,单副本的存储方案也早已无法满足业务的可靠性要求。现在,我们通常都会做双机存储架构,会涉及到主备、主从、主主模式。

在 Serverless 架构下,高可用方案或者容灾方案是否还需要主备、主从以及主主等模式?如果还需要,那么又是什么样子?

Serverless 与多地域部署

针对服务可用性,几乎每个云厂商都会有非常高的承诺,但是我们也不能掉以轻心,认为不会出现故障导致不可用,容灾方案是必须要有的。

在传统主机时代有主备、主从以及主主模式,这个模式更多针对的是单台机器或者某个集群。但是在 Serverless 架构下,没有机器和集群的概念(至少在用户层面没有),是不是就表示在 Serverless 架构下无法做容灾?

理论上,云厂商会保证整个服务的可用性,如果云厂商管理的某个机器出现故障,机器会被及时剔除,确保新的函数在安全、稳定、健康的环境下启动,正常提供服务。但在实际情况中,由于某些原因,云厂商也可能会在某个地域出现大规模故障,这时如何确保服务依旧可用,而不是苦苦等待云厂商的恢复?

针对单地域解析的网站,我们可以实现多地域的主备方案。在云函数中,多地域的主备方案更加经济实惠,因为函数是按量付费的,完全可以将函数复制到其他的地域,只要不进行触发,就不会产生额外的费用。相对于传统主机时代的主备模式,这种主备方案显得更加人性化。