二狗子是国内知名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. 【Spring注解驱动开发】二狗子让我给他讲讲@EnableAspectJAutoProxy注解

    写在前面 最近,二狗子入职了新公司,新入职的那几天确实有点飘.不过慢慢的,他发现他身边的人各个身怀绝技啊,有Spring源码的贡献者,有Dubbo源码的贡献者,有MyBatis源码的贡献者,还有研究A ...

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

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

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

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

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

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

随机推荐

  1. SpringBoot整合Swagger和Actuator

    前言 本篇文章主要介绍的是SpringBoot整合Swagger(API文档生成框架)和SpringBoot整合Actuator(项目监控)使用教程. SpringBoot整合Swagger 说明:如 ...

  2. 扒一扒那些教程中不常被提及的JavaScript小技巧

    1.过滤唯一值 Set类型是在ES6中新增的,它类似于数组,但是成员的值都是唯一的,没有重复的值.结合扩展运算符(...)我们可以创建一个新的数组,达到过滤原数组重复值的功能. const array ...

  3. CAD2014学习笔记-常用绘图命令和工具

    基于 虎课网huke88.com CAD教程 圆的绘制 快捷键c:选定圆心绘制半径长度的圆 快捷键c + 命令行输入 3p(三点成圆) 2p(两点成圆) t(选定两个圆的切点绘制与两圆相切的圆,第三部 ...

  4. MDX查询SSAS结果--通过adomd.net展示到客户端

    SSAS多维模型建好之后,除了在excel客户端直接链接ssas源拖拽pivot分析使用外,还可以讲要展示的结果集通过MDX语句查询出来,嵌入到程序中,通过运行程序跑出完整的报表.如图所示:

  5. idea 警告:Warning:java: 源值1.5已过时, 将在未来所有发行版中删除

    在pom.xml文件中添加 <properties>         <maven.compiler.source>1.8</maven.compiler.source& ...

  6. JAVA项目从运维部署到项目开发(六. Jenkins之静态页面)

    用Git托管静态页面代码,通过Jenkins部署静态页面,是再方便不过的了.本文将介绍如何通过Jenkins部署最新的静态页面代码. 一.Jenkins的配置 1.设置项目名称.参数(环境.分支)等 ...

  7. 分析了京东内衣销售记录,告诉你妹子们的真Size!

    >今天闲暇之余写了一个爬虫例子.通过爬虫去爬取京东的用户评价,通过分析爬取的数据能得到很多结果,比如,哪一种颜色的胸罩最受女性欢迎,以及中国女性的平均size(仅供参考哦~) 打开开发者工具-n ...

  8. mysql8.0的连接写法

    由于mysql8.0的新特新,所以Driver要写成“com.mysql.cj.jdbc.Driver” url:"jdbc:mysql://host_address:3306/db_nam ...

  9. 爬虫之解析库pyquery

    初始化 安装: pip install pyquery 字符串的形式初始化 html = """ <html lang="en"> < ...

  10. 2019牛客暑期多校训练营(第四场)J-free

    >传送门< 题意:给你n个城市,m条道路,经过每一条要花费这条路的代价,现给你k个机会,使得最多k条路的代价为0,问从起点s到终点t花费的最少代价 思路:分层图最短路经典裸题 方法一 Co ...