二狗子是国内知名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 真是个好东西,我要好好的写一篇文章来分享一下这个方便的工具。”

推荐阅读:

工信部要求应用商店上新 App 检查 IPv6,这里有一份 IPv6 快速部署指南​

读完这篇文章,5G 就没有秘密了

第一次亲密接触——二狗子初识 CDN的更多相关文章

  1. 多线程第一次亲密接触 CreateThread与_beginthreadex本质区别

    本文将带领你与多线程作第一次亲密接触,并深入分析CreateThread与_beginthreadex的本质区别,相信阅读本文后你能轻松的使用多线程并能流畅准确的回答CreateThread与_beg ...

  2. 【阿里云产品公测】与云引擎ACE第一次亲密接触

    阿里云用户:林哥神话 公测当然是第一次了.这个第一次亲密接触,但话又说回来对ACE我一直都不是那感兴趣的,但是看到阿里介绍还是那般神奇,再加上200无代金券来更加给力.最后就申请了这次公测. 平时一直 ...

  3. 受到 1 万点暴击,二狗子被 DDoS 攻击的惨痛经历

    二狗子的遭遇 “好消息,好消息,免费 DDoS 攻击软件上线了,性感黑客在线攻击,帮您攻克所有商业难题.”二狗子不知道在看着什么网站,新买的 Mac 中发出热闹的声音. 二狗子想知道“DDoS 是什么 ...

  4. [OS] 多线程--第一次亲密接触CreateThread与_beginthreadex本质区别

    转自:http://blog.csdn.net/morewindows/article/details/7421759 本文将带领你与多线程作第一次亲密接触,并深入分析CreateThread与_be ...

  5. Linux认知之旅【01 与Linux第一次亲密接触】!

    一.搜索LINUX,了解它的前世今生! linux很厉害,应用在很多方面,我知道有超算.IOT.树莓派. 而且好多开发人员都在用这个系统.linux作为服务器使用,常年不用重启,不宕机,很少受病毒影响 ...

  6. 第四章 跨平台图像显示库——SDL 第一节 与SDL第一次亲密接触

    http://blog.csdn.net/visioncat/article/details/1596576 GCC for Win32 开发环境介绍(5) 第四章 跨平台图像显示库——SDL 第一节 ...

  7. Linux就是这个范儿之第一次亲密接触(3)

    原创作品,允许转载,转载时请务必以超链接形式标明文章原始出处 .作者信息和本声明.否则将追究法律责 1.4 返璞归真的命令行 有一种说法,现代计算机不是靠电力驱动,而是靠“鼠标”.多少应用程序的界面需 ...

  8. 我和Python的第一次亲密接触 - 零基础入门学习Python001

    我和Python的第一次亲密接触 让编程改变世界 Change the world by program 小甲鱼经常说,学习一门编程语言就是要深入其中,要把编程语言想象为你的女朋友你的情人,这样你学习 ...

  9. 第一次亲密接触MSF

    第一次亲密接触MSF Metasploit Framework介绍 Metasploit是一款开源安全漏洞检测工具,附带数百个已知的软件漏洞,并保持频繁更新.被安全社区冠以“可以黑掉整个宇宙”之名的强 ...

  10. Linux就是这个范儿之第一次亲密接触(2)

    原创作品,允许转载,转载时请务必以超链接形式标明文章原始出处 .作者信息和本声明.否则将追究法律责 1.2 不一样的图形操作 几乎所有Linux的新用户都会认为Linux的图形界面是相当的绚丽又多彩. ...

随机推荐

  1. Emotion Debt 2017/1/6

    原文 We can't move beyond the past until our emotional debts are paid. Many people today live under th ...

  2. 关于C#调用非托管动态库方式的性能疑问

    最近的项目中,因为一些原因,需要C#调用非托管(这里为C++)的动态库.网上喜闻乐见的方式是采用静态(DllImport)方式进行调用.偶然在园子里看到可以用动态(LoadLibrary,GetPro ...

  3. 探索c#之一致性Hash详解

    阅读目录: 使用场景 算法原理 虚拟节点 代码示例 使用场景 以Redis为例,当系统需要缓存的内容超过单机内存大小时,例如要缓存100G数据,单机内存仅有16G时.这时候就需要考虑进行缓存数据分片, ...

  4. 《Linux内核修炼之道》 系列

    http://blog.csdn.net/fudan_abc/article/category/655796

  5. 建立CMenu菜单项,实现选中菜单项点击左键响应事件

    这里我只是根据自己的项目做了一些总结,实现点击右键弹出菜单项,点左键选择菜单项: CMenu menu; VERIFY(menu.CreatePopupMenu());//新建一个cmenu菜单项 m ...

  6. git错集

    2018年12月20日22:26:01 fatal:not a git repository ( or any of the parent directories ) : .git 这个错误出现在首次 ...

  7. 关于 git 本地创建 SSH Key 遇到的一点问题(①file to save the key & ②the authenticity of host...)

    背景 由于想测试一下 SSH Key 创建的路径(.ssh 目录路径)对于不同位置 git 项目是否有效. 比如,.ssh 默认在 C:\[users]\[username] 目录下,而项目 proj ...

  8. URL控制器

    自定义路由 from django.conf.urls import url from app01 import views urlpatterns = [ url(r'^books/$', view ...

  9. 【CV】ICCV2015_Unsupervised Visual Representation Learning by Context Prediction

    Unsupervised Visual Representation Learning by Context Prediction Note here: it's a learning note on ...

  10. Git之右键没有Git Bash Here的解决办法

    1.Win+R 打开运行输入regedit 回车打开注册表 2.找到[HKEY_CLASSES_ROOT\Directory\Background]. 3.在[Background]下如果没有[she ...