前端容灾

简介: 什么是容灾 容灾的概念始于后端,指当遇到某个服务器或某个机房发生自然灾害、断网断电等情况下的应急办法,可以保证服务依然可用。 新入行的小伙伴可能有疑问,都断网断电了怎么可能保证网站还可以正常访问那?其实这是对大型网站,理解不深导致的,你认为的网站是这样的 像这种单机的服务自然没法做什么容灾了,这一台机器挂了服务也就挂了。

什么是容灾

容灾的概念始于后端,指当遇到某个服务器或某个机房发生自然灾害、断网断电等情况下的应急办法,可以保证服务依然可用。 新入行的小伙伴可能有疑问,都断网断电了怎么可能保证网站还可以正常访问那?其实这是对大型网站,理解不深导致的,你认为的网站是这样的

单机


像这种单机的服务自然没法做什么容灾了,这一台机器挂了服务也就挂了。但现在的大型网站,早就不是上图那个样子了,而是这样 多机 甚至这样 集群

最外层那个抗压的服务器一般是Nginx或Apache ,可以做到当某台机器挂了以后屏蔽掉那台机器,这就是后端容灾的基本手段之一,通过集群做到高可用。

说这些只是想让你理解什么是容灾,这不是今天的重点。今天的重点是前端容灾

什么是前端容灾

前端容灾指的是当后端接口挂了,依然可以保证页面展示信息完整。我们以百度首页中新闻模块举例,当你打开百度的时候,服务端渲染好的页面出来以后,需要请求新闻接口拿到数据渲染新闻模块。你的老板告诉你,不论任何情况,必须展示新闻和广告,即使新闻接口挂了。这个时候怎么办,也就是前端容灾的范畴了。

前端容灾可用手段

localstorage缓冲接口数据

新闻模块的接口,每次有返回的时候,都存入localstorage中,以接口路径为key,返回数据为value,当新闻接口请求失败的时候先从localstorage中读上次成功请求时候的数据,展示出来。

备份一份静态数据到CDN

让业主方同学提供一份兜底新闻数据,存放在CDN上,新闻接口返回失败,用户localstorage中也没有数据的时候,去CDN对应地址拉取数据渲染

利用Service worker的caches API做页面接口缓存

Service worker提供了fetch事件可供监听,当页面发出请求的时候,会先过fetch方法,你可以在这里定义任何你需要的缓存策略,比如请求成功后,将结果存入caches。Service worker中,你甚至可以缓存当前页面的HTML,让网站离线运行。

通过上面这些手段,可以保证只要给用户吐出HTML就能保证页面完整性。对于让页面始终可吐出HTML这件事,那就又属于后端,运维同学所做的了。可以借助上面我介绍到的集群的方式,也可以通过CDN的方式(动态DNS)来解决。

上面三种,是笔者在工作中使用过的前端容灾手段,如果你有更好的想法,可以在评论区告诉我,感谢


原文发布时间:06月22日

原文作者:GeoffZhu

本文来源掘金如需转载请紧急联系作者

相关文章
|
4月前
|
存储 运维 容灾
带你读《云上自动化运维宝典》——一文详解云上跨可用区容灾解决方案和异地多活能力建设最佳案例(3)
带你读《云上自动化运维宝典》——一文详解云上跨可用区容灾解决方案和异地多活能力建设最佳案例(3)
111 0
|
Oracle 关系型数据库 MySQL
OceanBase实践入门:高可用原理和容灾方案
OceanBase的多副本(奇数)设计,以及使用Paxos协议同步事务日志,是OceanBase高可用能做到自动切换(RTO约20s)和不丢数据(RPO=0)的关键。OceanBase在这个设计上还衍生出很多特性:如负载均衡和异地多活等。
5063 0
|
存储 运维 容灾
容灾的架构分析和容灾选择策略
容灾的架构分析和容灾选择策略
容灾的架构分析和容灾选择策略
|
容灾 安全 大数据
为数据安全而生,阿里云容灾备份方案场景实践解析
数字经济时代,数据正以超出想象的速度快速增长。短短几年,数据量已经从TB级别跃升到PB乃至ZB级别。
4918 0
|
4月前
|
弹性计算 运维 容灾
带你读《云上自动化运维宝典》——一文详解云上跨可用区容灾解决方案和异地多活能力建设最佳案例(2)
带你读《云上自动化运维宝典》——一文详解云上跨可用区容灾解决方案和异地多活能力建设最佳案例(2)
|
4月前
|
弹性计算 运维 容灾
带你读《云上自动化运维宝典》——一文详解云上跨可用区容灾解决方案和异地多活能力建设最佳案例(1)
带你读《云上自动化运维宝典》——一文详解云上跨可用区容灾解决方案和异地多活能力建设最佳案例(1)
182 1
|
4月前
|
存储 运维 监控
运维的容灾方案
运维的容灾方案
|
5月前
|
容灾 测试技术 数据库
容灾架构迁移
容灾架构迁移
|
负载均衡 容灾 NoSQL
【服务器系列】高可用方案
高可用的一些解决方案冷备双机热备同城双活异地双活异地多活。
346 0
【服务器系列】高可用方案
|
存储 弹性计算 运维
利用阿里云实现异地容灾的解决方案
利用阿里云实现异地容灾的解决方案
利用阿里云实现异地容灾的解决方案