CDN可以加速API接口吗?

范柯左


CDN是在1995年由美国麻省理工大学提出来的,是一整套能够实现用户就近访问网络的解决方案。虽然CDN在90年代就提出来了,但也是最近几年才被国内网站广泛应用。以前都是国内大型网站才会采用的加速方案,而现在甚至个人网站都用上了CDN。

啥是CDN?

CDN是内容分发网络的简称,它是一种分布式部署方案,CDN两大核心功能即:内容存储+分发。CDN有很多节点服务器,CDN厂商将这些节点缓存服务器分布在全国各地,利用负载均衡+智能DNS技术实现将用户的访问分发到距离用户最近的缓存服务器上,这样缓存服务器直接响应了用户的请求,加快了网站响应速度。

CDN具备哪些功能?

CDN功能很强大,一般CDN都具备以下功能:

1、网站加速

CDN利用智能DNS的负载均衡技术能实现用户就近访问Cache节点服务器,能有效提高网站的响应速度。

2、镜像功能

CDN有很多节点,这些节点服务器会均衡分布在电信、联通、移动网络中。这样一来就消除了不同运营商间的互联互通问题,跨网关访问不存在过多的时间消耗。

3、缓解了源站服务器压力

通过合理的利用缓存策略,使得较多流量落在了CDN节点服务器之上,回源频率较小,这样就减轻了源站服务器的压力。

4、集群抗攻击

上面说过了,CDN本身就是一种分布式部署方案,CDN对一般中小型DDoS攻击有一定防御能力。

使用CDN是否可以加速API接口?

一般而言多数用户都是将CDN作为网站加速来用,很多人觉得API数据是不能被缓存的,所以觉得API不应该用CDN加速。其实我们使用CDN同样可以给API做加速。上面讲到了,CDN可以消除不同运营商间的互访互通问题,举例说明一下:

假设你的API服务托管在电信机房,那么移动用户访问你的API时可能速度会比较慢,这是因为不同运营商间的互联互通访问时会经过较多网络节点,耗时会久一些。

但如果我们用了CDN给API来加速,那移动用户访问我们的API时,请求会先到距离用户最近的CDN节点服务器上,由这个节点服务器去请求API,这个CDN节点服务器一般是多线接入的,这样会尽可能减少用户到机房的网络故障机率。

另外使用了CDN后会隐藏源站服务器的IP,一定程度上提升了源站服务器的安全。


以上就是我的观点,对于这个问题大家是怎么看待的呢?欢迎在下方评论区交流 ~ 我是科技领域创作者,十年互联网从业经验,欢迎关注我了解更多科技知识!

网络圈


“我是哟哟吼说科技,专注于数据网络的回答,欢迎大家与我交流数据网络的问题”

API(Application Programming Interface,应用程序编程接口)是一组定义、程序及协议的集合,提供通用的功能集,通过API接口实现计算机软件之间的相互通信。

如题,CDN可以通过API接口加速吗?

哟哟认为如果想要实现CDN的加速,最好采用增加节点,通过后端设备进行数据同步的方式,而API接口基本都是实时查询的数据。

下面哟哟来简单介绍一下如何实现CDN的加速:

CDN(Content Delivery Nerwork,内容分发网络)通过在因特网中新增一层新的网络架构,将内容分布到最接近用户的网络边缘,用以提供用户访问的响应速度。

CDN具体的工作流程:用户在访问某网站域名时,会先向本地DNS服务器请求该域名对应的解析,若本地DNS服务器没有,则经过DNS根服务器、域服务器等一系列服务器最终发送至网站的主DNS,根据某些策略来确认最适合的CDN节点,并将解析的结果返回给用户。

假设国内CDN节点过少,所有的用户访问请求均被定位到该CDN节点,那会造成网络的访问响应变慢,影响体验效果。若实现CDN的加速,最可行的办法就是增加CDN的节点,根据DNS的调度将访问用户通过方位调度到距离最近的CDN节点,并通过GSLB负载均衡的技术,实现对CDN的加速。

欢迎大家多多关注我,在下方评论区说出自己的见解。


哟哟吼说科技


CDN是内容分发网络,也叫边沿节点,就是在各地配置一些服务器,在上面缓存静态文件和内容,或者视频也可以,这些内容之所以叫静态的的,就是基本上不太改动的,这样,当用户访问这些内容的时候就智能的从离用户最近的CDN节点取得这些静态内容,给用户一个良好的体验。

但是说到api接口,通常都是返回动态的内容,有实时性要求,所以基本不可能将动态内容推送到各地的几十甚至上百个cdn边沿节点去更新和同步,所以现在做不到题主说的这一点,就是用cdn去缓存和加速api的调用。目前没有一个公有云提供商可以做到,包括aws,阿里云,腾讯云,华为云等。

但是,aws提供了另外一种思路,可以利用cdn的边沿节点来加速API调用。思路是,用户通过cdn边沿节点来调用API接口,这样,cdn的边沿节点离用户比较近,所以网路延迟小,再由CDN的边沿节点将API调用路由到云中真正的api服务器上,走的是CDN边沿节点到云中心的专用网路,这样整个的网络的延迟就会比较小,而且,如果是加密链接,可以在cdn边沿节点上就解密,这样后面cDN边沿节点到云API服务器就可以用非加密链接,这样的网络延迟和效率也会提高。这样一来,总体的API调用的API网络传输要比用户直接用公网连接云API服务器要延迟小一些,效率也高一些。但是这个功能目前只有aws有,这是国内这些云还不具备的。


信欣92041382


可以,但受限于场景。

概念:CDN(Content Delivery Networ)内容分发网络,常用于 WEB。CDN 初期是用来降低多次路由和跨运营商传输时的网络延迟,随着互联网内容的增长,CDN 现在主要解决的是服务器提供静态文件时的带宽问题(都 2018 年了电信 4Mbps 企业专线的每月价格仍然上千)。概念不多解释了,百科更详细。

接下来是你的问题:

1、WEB API 通常需要处理服务器内不公开的数据,CDN 节点既没有你处理数据的程序,也不能得到你的内部数据,所以,每一次 WEB API 调用都需要你的服务器进行处理,CDN 不能加速服务器中的业务数据处理。

2、HTTPS 协议需要建立加密的传输层,当 WEB API 调用达到一定量时,加密的 CPU 开销也不可忽。通过 CDN,源服务器只需向 CDN 节点提供 HTTP 访问,由 CDN 节点使用 SSL 证书对传输层加密、向客户端提供 HTTPS 访问。CDN 可以去除服务器处理 SSL 加密的负载,起到加速作用。(阿里云 CDN 已经提供这项功能)

3、如果你的 WEB API 只是在服务器和服务器之间调用,而且调用也不要求 HTTPS,那么 CDN 是起不到作用的。


我是疯狗我怕谁


cdn通常只能加速静态资源,比如图片,js这些。但是现在阿里出了一个全站加速,我们测试是可以加速api接口的


分享到:


相關文章: