PiDanZheng 2019-09-08
二狗子是国内知名XXX大学的在校学生,作为一名编程爱好者,他利用业余时间搭建了一个网站,把平时的学习心得和技术分享全都 PO 在自己的网站上。渐渐地,二狗子的网站因为文章质量高,技术分享全面,受到了很多爱好者的关注。
可是最近二狗子却有些苦恼。
有部分网友反馈访问网站时,速度特别慢。二狗子本地测试访问,却没有出现访问慢的情况。查看服务器的运行情况,出口带宽没有跑满,主机状态也是正常的。那是怎么回事呢?
经过一段时间的信息收集,二狗子发现访问慢的网友大部分都集中在甘肃、陕西这些西北部方向的联通用户。“会不会是因为跨网跨运营商产生的问题?”二狗子心想。自己网站的云主机部署在华东电信区,同区域的网友访问并不会出现访问慢的问题,于是二狗子找到了在北京上学的同学,拜托他帮忙测试访问一下自己的网站。
北京访问也慢!同学花了 15 秒才看到网站首页“二狗子最帅”五个大字。
看来问题可以确定了,应该是跨地区跨运营商导致的,以致于不同区域、使用不同网络的用户访问自己网站的速度不稳定。
“得想办法解决这个问题啊。”二狗子开始思索。
既然是跨区跨网导致的访问受限,那自己多买几条线路,在几个区域都部署一个服务器不就行了?这个想法刚冒出来,二狗子就笑自己了。且不说多开几个主机,网站维护时间变长,运营成本也上去了呀,自己还是个学生,最重要的任务还是学习。当然,最主要的原因还是因为穷,荷包里的钱暂时也支撑不起多租主机产生的费用。
那怎么样才能实现,在保持现有一台主机的状态下,实现多网多地区的加速访问呢?
“加速?对呀!可以使用 CDN 来进行加速呀!”二狗子突然醍醐灌顶。
又小拍提醒:CDN 就是用来解决因分布、带宽、服务器性能带来的网络访问延迟问题,适用于站点加速、点播、直播等场景。CDN 厂商会在各网各地区部署节点,在接入 CDN 后可使用户就近取得所需内容,尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,从而提高用户访问网站的响应速度和成功率。
最开始建站时,二狗子纯粹是出于对技术的喜爱,以及抱着提供一个可以分享开发心得和交流的平台来做的。现在加入的网友越来越多,每天的访问量也在逐步提升,网站页面上,图片、视频、脚本等对象也越来越庞大。自己的主机目前还扛得住现阶段的请求量,但后期如果继续发展,用户继续增加的话,主机性能和出口带宽就有点不够用了。
现在接入 CDN 的话,一方面可以解决跨网跨区访问慢的问题,另外还可以把这些静态类的对象丢给 CDN 节点缓存,自己的主机只需要接受一些文章发布、评论发布这些动态类的请求,主机压力就小了很多了!
二狗子不由得兴奋了起来,说干就干,下课后二狗子就跑回了宿舍进行 CDN 厂商调研。自己还是个学生,CDN 费用上要尽可能的低一些,最好有一些优惠,操作配置要尽可能的简单一些,碰到问题厂商解决的效率要快一些,业内口碑也要好一些……
“有了!”二狗子兴奋道,“这家应该不错。”
“又拍云是国内一家知名的 CDN 服务商,1100+ 全球节点,10Tbps 带宽储备,国内主流运营商支持,提供对象存储、HTTPS/SSL 证书、多媒体处理、影像识别、文字识别等多项服务,支持 WebP 自适应、H.265 自适应、码率适配限速、分段缓存、防盗链等功能。个人建站用户还可以申请加入又拍云联盟,审核通过后每月可获得 10GB 存储空间 + 15GB 流量。”
那么,就先试用一下又拍云好了。
又小拍提醒:又拍云为开发者提供了又拍云联盟平台,申请加入联盟后,开发者可以免费获取每月 10GB 存储空间 + 15GB 流量。
二狗子很顺利的完成了一系列操作,在又拍云控制台上,跟着配置向导,分分钟就创建好了 CDN 服务。
“嗯,现在 CDN 服务创建好了,CDN 到自己源站的通道已经建立了,原先的网站域名用来当做加速域名,这样的话需要更改一下域名的解析记录,把域名的解析导向 CDN 服务。这样,后续网站用户访问我的域名,就可以无缝接入 CDN 服务,由 CDN 响应资源了。”
又小拍提醒:CDN 有几个术语您需要了解一下哦:
源站
在接入 CDN 之前开发者真正的服务器或者云主机,统一称之为源站。
加速域名
指用于访问 CDN 服务的域名,该域名是绑定在 CDN 服务中的。在开发者配置好 CDN 服务后,客户直接访问的就是加速域名,而不是源站了。
CNAME 记录别名记录( Canonical Name ),CNAME 记录就是把域名解析到另外一个域名。为什么需要使用CNAME 记录呢?是因为 CNAME 记录可以很方便地变更 IP 地址。CDN 厂商有众多节点,每个节点的 IP 都是不同的,如果把全部 IP 节点告诉开发者,由开发者自行配置,那么不光步骤繁琐,后续节点变动修改也会异常麻烦。但是如果使用 CNAME 记录的话,开发者只需要配置一次域名的 CNAME 解析,后续节点变动就交由 CDN 厂商来进行了,省去用户配置上的繁琐步骤。
CNAME 域名配置在 CDN 的域名需要用到 CNAME 域名来配置 CNAME 解析,在又拍云控制台配置完成CDN 服务后,开发者会得到一个 CNAME 域名(该域名一定是 .http://b0.aicdn.com,其中 处就是开发者的 CDN 服务名), 用户需要将绑定在 CDN 的加速域名做 CNAME 解析,解析地址就是这个 CNAME 域名,这样,当用户访问加速域名的时候,所有的请求都会指向又拍云 CDN 服务,从而实现加速效果。
二狗子在控制台复制了 CDN 对应的 CNAME 域名地址,然后在对应的域名解析控制台进行 CNAME 解析配置。
“好了!这样设置后,应该就把用户-CDN-源站的关系建立起来了。”二狗子想了想现在的网站访问关系。
“那么,接下来就来验证一下,配置是否生效了吧!”二狗子想了想,“首先看一下,用户访问加速域名,是否可以请求到 CDN 节点吧。”最简单的办法就是使用 ping 命令测试一下访问域名,看看返回的 IP。
ping 加速域名,返回的节点已经是 CDN 的节点 IP 了,二狗子拿着这个 IP 在又拍云控制台上查了一下。
“嗯,看来没有太大问题,使用 dig 看域名解析也是对的。这还真不错,可以完美的隐藏掉我的云主机 IP 地址。”
“现在用户可以通过加速域名访问到我的 CDN 服务了,那么 CDN 回我的云主机服务是否正常呢?”
二狗子打开浏览器,输入了域名,回车。“棒!”浏览器很快就加载出了熟悉的画面。
打开浏览器的控制台,远程地址已经不是自己源站的 IP 信息了,Server 响应头的值说明响应来自于 CDN 的节点。
二狗子看了一下主机的日志信息,已经记录到来自 CDN 的回源访问请求了。
这样,二狗子的网站就成功接入了 CDN 了。
二狗子请之前反馈访问慢的网友再访问试试,大家纷纷反馈网站现在打开速度非常迅速,不像之前需要等待十几秒才能把页面加载出来。二狗子很高兴,终于把之前的问题和担忧都解决了。“又拍云 CDN 真是个好东西,我要好好的写一篇文章来分享一下这个方便的工具。”
推荐阅读:
它叫可乐,曾是曼谷街头的一只流浪狗。两年前,因为不小心咬了路人的鞋子,被人砍断双腿。所幸当地动物保护组织收留了它,并给它安装了假肢。它又可以快乐奔跑了,并再次对人类展示出信任与爱。可以不爱,请别伤害!