CDN简单介绍以及常见问题

1.1 CDN
  • 全称: Content Delivery Network 或 Content Distribute Network, 即内容分发网络, 是将源站内容分发至最近用户的节点, 使用户可就近取得所需内容, 提供用户访问的响应速度和成功率.

  • 基本思路

    • 尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节, 使内容传输的更快、更稳定. 通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络, CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上.
  • 目的

    • 解决因分布、宽带、服务器性能带来的访问延迟问题, 适用于站点加速、点播、直播等场景. 使用户可就近取得所需内容, 解决Internet网络拥挤的状况, 提高用户访问网站的响应速度和成功率.
  • 基本原理

在这里插入图片描述

  • 最简单的CDN网络由一个DNS服务器和几台缓存服务器组成:
  1. 当用户点击网站页面上的内容URL, 经过本地DNS系统解析, DNS系统会最终将域名的解析权交给CNAME指向的CDN专用DNS服务器
  2. CDN的DNS服务器将CDN的全局负载均衡设备IP地址返回用户
  3. 用户向CDN的全局负载均衡设备发起内容URL的访问请求
  4. CDN全局负载均衡设备根据用户IP地址, 以及用户请求的内容URL, 选择一台用户所属区域的区域负载均衡设备, 告诉用户向这台设备发起请求
  5. 区域负载均衡设备会为用户选择一台合适的缓存服务器提供服务, 选择的依据包括:
    1. 根据用户IP地址, 判断哪一台服务器距离用户最近;
    2. 根据用户所请求的URL中携带的内容名称, 判断哪一台服务器上有用户所需的内容;
    3. 查询个服务器当前的负载情况, 判断哪一台服务器尚有服务能力.
    4. 基于以上这些条件的综合分析之后, 区域负载均衡设备会向全局负载均衡设备返回一台缓存服务器的IP地址
  6. 全局负载均衡设备把服务器的IP地址返回给用户
  7. 用户向缓存服务器发起请求, 缓存服务器响应用户请求, 将用户所需内容传送到用户终端. 如果这台服务器上并没有用户想要的内容, 而区域均衡设备依然将它分配给了用户, 那么这台服务器就要向它的上一级缓存服务器请求内容, 直至追溯到网站的源服务器将内容拉到本地
1.2 常见问题
  • CDN加速是对网站所在服务器加速, 还是对其域名加速?
    • CDN是只对网站的某一个具体的域名加速. 如果同一个网站有多个域名, 则访客访问加入CDN的域名获得加速效果, 访问未加入CDN的域名, 或者直接访问IP地址, 则无法获得CDN效果
  • CDN和镜像站点比较有何优势?
    • CDN对网站的访客完全透明, 不需要访客手动选择要访问的镜像站点, 保证了网站对访客的友好性. CDN对每个节点都有可用性检查, 不合格的节点会第一时间剔出, 从而保证了极高的可用率, 而镜像站点无法实现这一点. CDN部署简单, 对原站基本不做任何改动即可生效
  • CDN和双线机房相比有何优势?
    • 常见的双线机房只能解决网通和电信互相访问慢的问题, 其他ISP(譬如教育网, 移动网, 铁通) 互通的问题还是没有得到解决. 而CDN是访问者就近取数据, 而CDN的节点遍布个ISP, 从而保证了网站到任意ISP的访问速度. 另外CDN因为其流量分流到各节点的原理, 天然获取抵抗网络攻击的能力
  • CDN使用后, 原来的网站是否需要做修改, 做什么修改?
    • 一般而言, 网站无需任何修改即可使用CDN获取加速效果. 只是对需要判断访客IP程序, 才需要做少量修改
  • 为什么我的网站更新后, 通过CDN后看到网页还是旧网页, 如何解决?
    • 由于CDN采用各节点缓存的机制, 网站的静态页面和图片修改后, 如果CDN缓存没有做相应更新, 则看到的还是旧的网页. 为了解决这个问题, CDN管理面板中提供了URL推送服务, 来通知CDN各节点刷新自己的缓存, 在URL推送地址栏中, 输入具体的网址或者图片地址, 则各节点中的缓存内容会被统一删除, 并且当即生效. 如果需要推送的网址和图片太多, 可以选择目录推送, 输入 http://www.kkk.com/news 即可以对网站下news目录下所有网页和图片进行了刷新
  • 能不能让CDN不缓存某些及时性要求很高的网页和图片?
    • 只需要使用动态页面, asp, php, jsp等动态技术做成的页面不被CDN缓存, 无需每次都要刷新. 或者采用一个网站两个域名, 一个启用CDN, 另外一个域名不用CDN, 对及时性要求高的页面和图片放在不用CDN的域名下
  • 网站新增了不少网页和图片, 这些需要使用URL推送吗?
    • 后来增加的网页和图片, 不需要使用URL推送, 因为它们本来就不存在缓存中
  • 网站用CDN后, 有些地区反应无法访问了, 怎么办?
    • CDN启用后, 访客不能访问网站有很多种可能, 可能是CDN的问题, 也可能是源站点出现故障或者源站点被关闭, 还可能是访客自己所在的网络出现问题, 甚至我们实际故障排除中,还出现过客户自己计算机中毒, 导致无法访问网站. 客户报告故障时, 可随时联系我们24小时技术部进行处理
  • 哪些情况我们推荐使用CDN?
    • 一般来说以资讯、内容等为主的网站, 具有一定访问量的网站、资讯网站、政府机构网站、行业平台网站、商城等以动态内容为主的网络、论坛、博客、交友、SNS、网络游戏、搜索/查询、金融等. 提供http下载的网站、软件开发商、内容服务提供商、网络游戏运行商、源码下载等有大量流媒体点播应用网站、拥有视频点播平台的电信运营商、内容服务提供商、体育频道、宽带频道、在线教育、视频博客等
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
搭建一个小型CDN实验环境可以帮助您理解CDN的工作原理和实际应用。下面是一个简单的步骤: 1. 选择合适的服务器:您需要至少两台服务器来搭建CDN实验环境。一台作为源服务器,提供原始内容,另一台或多台作为缓存服务器,分布在不同的地理位置。 2. 安装Web服务器:在源服务器上安装和配置一个常见的Web服务器,如Nginx或Apache。将您想要通过CDN分发的静态内容放在该服务器上。 3. 配置缓存服务器:在缓存服务器上安装和配置一个反向代理服务器,如Nginx或Varnish。通过配置反向代理,使其将请求转发到源服务器,并将响应缓存起来。 4. 配置DNS:将域名解析指向您的CDN实验环境中的缓存服务器。您可以使用自己的域名或者在测试阶段使用临时域名。 5. 测试CDN效果:通过浏览器或命令行工具发送请求,观察内容是否从缓存服务器返回。您可以使用工具如curl或者在浏览器中查看网络请求的响应头。 6. 加入更多缓存服务器:如果您希望模拟更真实的CDN环境,可以添加更多的缓存服务器,并将其分布在不同的地理位置。确保这些缓存服务器配置正确并能够从源服务器获取内容。 7. 测试负载均衡:尝试同时发送大量请求到CDN环境,并观察请求是否被均匀地分发到不同的缓存服务器上。 请注意,这只是一个简单CDN实验环境示例,实际的CDN系统可能更复杂,并涉及更多的组件和配置。此外,安全性、缓存策略、内容刷新等方面也需要根据实际需求进行配置和优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值