一款搞崩别人家产品的产品,牛大发了!

唐韧 / 2021-07-01 16:08:44

今天看到一个新闻,8 号的时候全球有上千个网站系统出现了将近一小时的故障情况,包括 Amazon、PayPal、纽约时报等大流量产品。


我们之所以无感,是因为这是事故波及的产品都是国外的。


具体原因,是一家叫 Fastly 公司的服务器出了问题,他们是做 CDN 产品的。


也就是说,这家公司自己的产品出了问题,然后直接把别人家的产品搞崩了,你说牛不牛!


对技术不太了解的可能对 CDN 比较陌生,做产品的读者应该在程序员口中听到过这个词。实际上,我们每天用到的各种产品基本都用到了 CDN 服务。


CDN(Content Delivery Network) 全称「内容分发网络」,是一种被广泛使用的互联网技术。它是一种基础设施,没有具体的产品形态,目的是为了提升网站系统和互联网服务的访问速度。


都知道,一款互联网产品通常由前端(客户端)和后端(服务器)构成,前端发出的各种请求指令经过后端处理后即可完成不同终端之间的数据交互。


两个客户端产品之间的信息通信并不是点对点直接完成的,而是经过了服务器的中转。


图片

举个例子。


当你刷微信朋友圈时,你浏览的内容都来自微信的服务器,包括你和好友之间的通信也是通过微信的服务器完成。另外,当你通过电脑上的浏览器打开某一个网站,网站的内容实际上也是来自于远程的服务器。


所以,我们所使用的各种产品本质上只是一个壳,或者说一个遥控器。操作产品的过程,实际上都是从服务器获取数据并完成展示。


那么问题来了,如果分布在世界各地的用户都同时访问一个服务器的话,这样就会造成拥堵,导致一部分用户访问速度变慢或者无法访问的情况。


这时候,CDN 出现了。


简单说,CDN 是一套网络系统,它存在于前端客户端和后端服务器之间,是二者的中转站。


图片

CDN 有很多节点,它们分布在全球很多地方,每一个节点都会有原始服务器的数据,这样用户就可以访问离自己最近的节点来获得最新数据,避免了访问拥堵。


当然,这中间有复杂的内容更新和流量分发技术,比如 DNS 的解析过程等,但 CDN 的基本原理大概就是这样的。


现在有很多第三方公司专门提供 CDN 云服务,我们国内也有做这个业务的厂商。


作为基础设施,产品开发商可以根据自己的需要付费使用,这样既节省了开发成本,也能提供更好的用户体验。


当 CDN 的节点越来越多的时候,整个网络的运转效率和访问速度就越高。


不知道你有没有过下面这种经历。


某款产品发布了新版本并上线了应用商店,别人都能看到新版本并下载更新,而你这里还没有任何提示。


看不到的原因,可能就是离你最近的 CDN 节点还没有同步最新数据。


图片

所以,如果全网用户都无法使用某一款产品时,很可能是服务器出了问题。但如果只是部分用户出现了无法访问的情况,那有可能就是 CDN 节点出现了问题。


上一篇:在线等,我的 adb 找不到了!

热门文章
最新文章
推荐文章