CDN与云的区别
基础设施不同
IDC,全称为Internet Data Center,即互联网数据中心,是提供存储、计算、网络等基础设施的服务商。IDC为用户提供托管服务器、网络连接、安全防护等服务,是云计算的基础。而云,则是将计算、存储、网络等资源虚拟化,形成一个资源池,用户可以根据需要动态地获取和释放这些资源。云服务提供商通常拥有大规模的数据中心,通过虚拟化技术提供服务。
功能和应用场景不同
CDN,全称为Content Delivery Network,即内容分发网络,是一种加速服务,通过在各地部署节点服务器,将内容缓存在离用户最近的节点上,从而提高用户访问速度和体验。CDN主要解决的是内容分发的问题,适用于需要快速访问静态和动态内容的场景,如网站、视频、游戏等。而云服务则提供了一整套基础设施和平台服务,用户可以进行计算、存储、数据分析等各种任务,适用于各种规模的企业和组织。
经济效益不同
使用CDN服务可以显著降低回源带宽成本,提高缓存命中率,降低用户的IT成本。而云服务则可以根据实际需求灵活调整资源使用量,提供弹性的计费模式,用户只需按需付费。
技术实现不同
云服务通过虚拟化技术将物理资源抽象为虚拟资源,用户可以根据需要调整虚拟资源的配置和数量。而CDN则是通过在各地部署节点服务器,将内容缓存在离用户最近的节点上,从而提高用户访问速度和体验。
安全性不同
云服务通常提供多种安全措施,包括数据加密、访问控制、安全监控等,以确保数据的安全性。而CDN则通过协议优化、连接优化等措施来降低总体时延、提高传输速度,同时也提供了一些安全功能,如节点服务器中的网站以文件形式存在,即便节点服务器被入侵,黑客也获取不到任何有价值的数据。
综上所述,云和CDN在基础设施、功能和应用场景、经济效益、技术实现以及安全性等方面都有所不同。云服务提供了更全面的基础架构和平台服务,而CDN则专注于内容的快速分发。
CDN架构图
CDN的基本架构
CDN的基本架构主要包括以下几个部分:
内容分发网络:构建在网络之上的内容分发网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。
内容存储和分发技术:关键技术主要有内容存储和分发技术。广泛采用各种缓存服务器,将这些缓存服务器分布到用户访问相对集中的地区或网络中,利用全局负载技术将用户的访问指向距离最近的工作正常的缓存服务器上,由缓存服务器直接响应用户请求。
DNS智能解析:通过DNS智能解析,将用户的访问请求指向最近的CDN节点。
负载均衡技术:使用负载均衡技术,如varnish和squid等,可以实现对不同地域的用户进行均衡分发,以达到提速的作用。
CDN的详细架构
在详细架构方面,腾讯云的CDN架构是一个很好的例子。腾讯云的CDN架构主要包括以下几个部分:
调度系统:支持策略中心、DNS、HTTPDNS和302调度模式。当终端用户发起访问请求时,用户的访问请求会先进行域名DNS解析,调度系统将根据用户解析请求中携带的IP地址判断其区域、运营商,为用户选择并返回最佳接入节点IP。
链路质量系统:实时监测缓存系统中所有节点和链路的实时负载以及健康状况。
缓存系统:用户通过收到的最佳接入节点IP访问对应的缓存节点,如果节点已经缓存了用户请求的资源,会直接将资源返回给用户。
支撑系统:支撑服务系统包括天眼、数据智能和配置管理系统,分别具备了资源监测、数据分析和配置管理能力。
CDN的实现原理
CDN的实现原理主要包括以下几个步骤:
用户向浏览器输入网站的域名,浏览器会向本地的DNS解析服务器发起请求。
如果本地的DNS解析服务器没有缓存这个域名的解析结果,它会向网站的DNS域名解析器请求。
网站的DNS域名解析器设置了CNAME,指向了CDN网络中的智能DNS负载均衡系统。
智能DNS负载均衡系统解析域名,把对用户响应速度最快的IP节点返回给用户。
用户向这个IP节点(CDN服务器)发出请求。
如果CDN节点中所请求的文件不存在,就会再回到源站去获取这个文件,然后再返回给用户。