很多时候在引用前端库 cdn 的时候,会担心这个前端库什么时候挂掉。想做一个东西,监测并自动寻找最优的前端库。

2019-11-15 11:09:19 +08:00
 Jackyxiaoc
最近在做一个项目的时候发现,引用了不同的前端库对网页的速度影响很大。一个不小心前端库挂掉了,所有页面就废了还得冲上去换。

打算做一个原理是 A 域名—自动跳转—B/C/D……等等前端库地址的。
自动寻找速度最快的。保证了前端库的高可用和高速。
如果有这个东西,大家会用吗?
7840 次点击
所在节点    奇思妙想
62 条回复
exip
2019-11-15 16:18:32 +08:00
service worker 完美解决楼主的问题!
service worker 能在请求到达浏览器后呈现给用户前,修改响应内容
exip
2019-11-15 16:21:26 +08:00
参考 /t/331086
lxk11153
2019-11-15 16:32:40 +08:00
@Jackyxiaoc #11
1. 试了下 superbed `curl -I https 蟹://pic.superbed.cn/item/5b7153f79dc6d696149d96cb.jpg`
```text
HTTP/2 302
server: JSP3/2.0.14
date: Fri, 15 Nov 2019 07:53:05 GMT
content-type: text/html; charset=UTF-8
content-length: 0
location: https 蟹://ae01.alicdn.com/kf/HTB1zHXaXQH0gK0jSZPiq6yvapXa4.jpg
```
2.1 你说的“高可用”可以解决,小范围用用的话你的程序也不会挂
2.2 “高速”好像不那么容易吧,分两个 2.2.1 用户访问你的程序的高速 2.2.2 location 到哪个 cdn 是用户访问起来最快的
---- 然后好像感觉丢失了 cdn 的本意了~
KENNHI
2019-11-15 18:30:32 +08:00
现在问题来了,是 CDN 更可靠还是你这个软件更可靠?
我比较信赖 CDN 的可靠性哈哈。
楼上说的很对,靠智能 DNS 才是解决之道。不同的来源(移动 /联通 /电信 /海外)可以解析到不同的 cdn 上,这样可以解决所有问题。
Jackyxiaoc
2019-11-15 18:58:55 +08:00
@watzds 对啊 特别是前端的库经常出问题...
@myqoo 谢谢
@myqoo 谢谢
@liuzhiyong 监控确实没什么问题
@exip 貌似不行...库挂了和这个没啥关系吧,首次加载还是不行。
@lxk11153 蹭前端公共库又想稳定...只能这样了...速度只要不比原来的慢,其实就没什么大问题。
@KENNHI 蹭前端公共库...怎么知道节点的地址...cdn 确实稳定,但前端公共库炸鸡的事情时有发生。这个小玩意的作用是蹭前端公共库的时候,想白吃白喝又能稳定的折中办法...避免类似事故的发生 /t/494314
exip
2019-11-15 19:10:40 +08:00
@Jackyxiaoc 库挂了,可以在 serverworker 里拦截请求失败信息,然后重新请求一个能用的地址再呈现给用户.
Jackyxiaoc
2019-11-15 19:11:16 +08:00
@exip 哦哦,明白了。
exip
2019-11-15 19:13:01 +08:00
@Jackyxiaoc 用户能可能会感觉到这次加载有点慢,但不会知道你已经更换地址了,也不会出现加载不出来的情况.
Jackyxiaoc
2019-11-15 19:18:29 +08:00
@exip 微信浏览器还不支持 service worker 的离线访问...
luoway
2019-11-15 19:26:34 +08:00
相当于代理掉客户端请求,那么 service worker 和服务端统一处理都是可以实现。
问题是,这样的统一代理对服务器压力大。别看处理逻辑简单,每秒处理请求数上去后,排队都能卡一会。
watzds
2019-11-15 19:33:21 +08:00
不知前端能不能检查到 cdn 不通,不通自动切换,或者刷新页面时切换就行
blackmirror
2019-11-15 19:45:13 +08:00
这是个伪需求
chcx
2019-11-15 22:19:34 +08:00
伪需求
静态资源,CDN 做的是缓存拷贝,只要你源站能提供正确的资源则无问题。
另外 CDN 架构方面:会做动态健康检查,节点间及同节点资源的负载均衡健康检查,全局的 isp 级别及基于实时服务质量的智能调度。
当然,CDN 也会出现一些节点及调度问题,这个高可用架构能规避 99%吧,问题存在发生的可能。
mytsing520
2019-11-15 22:58:32 +08:00
不同地区 CDN 效果都不同。
这个“需求”甚至不能称得上是一种需求
muzuiget
2019-11-15 23:03:13 +08:00
不就是再加一次 CDN 吗?还是觉得大厂的 CDN 稳定得多了。
Jackyxiaoc
2019-11-15 23:46:12 +08:00
@blackmirror 我这里说的 cdn 是前端的公共库,还是挂挺多的。
@chcx 如果是付费的 cdn,那毫无疑问,可靠性很高。我这里说的 cdn 是前端的公共库,还是挂挺多的。
@mytsing520 如果是付费的 cdn,那毫无疑问,可靠性很高。我这里说的 cdn 是前端的公共库,还是挂挺多的。这个东西是保证挂了以后能切换去能用的。t/536934
Jackyxiaoc
2019-11-15 23:47:13 +08:00
@blackmirror 我这里说的 cdn 是前端的公共库,还是有挂的概率的。
@chcx 如果是付费的 cdn,那毫无疑问,可靠性很高。我这里说的 cdn 是前端的公共库,还是有挂的概率的。
@mytsing520 如果是付费的 cdn,那毫无疑问,可靠性很高。我这里说的 cdn 是前端的公共库,还是有挂的概率的。这个东西是保证挂了以后能切换去能用的。t/536934
tonylau
2019-11-15 23:58:15 +08:00
套路云有个叫“全局流量管理”的产品,集成了健康度检查、容灾自动切换方案、流量负载均摊等,跟楼主说的需求有些类似,可以了解下。
dorothyREN
2019-11-16 16:48:22 +08:00
cdn 你是不用担心了,但是你该担心你这个小东西啥时候挂了
Foxkeh
2019-11-16 20:31:58 +08:00
前段时间一个周六 BootCDN 挂了之后,
前端工程师给出的对策是同时配置多个 CDN 前端库.
当时很惊讶,但没问实现原理.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/619804

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX