作者:WL
什么是CDN
某CDN服务商全国节点分布示意图,图源:@WL 制作自Mapmost平台
在一个名为earth-M的平行宇宙中,有一个著名的画家叫做Mapmost。Mapmost不仅画技高超,而且他的画作总能带给人深刻的启示和无尽的想象。他的一幅最新作品《Alpha》在Mapmost宇宙引起了巨大的轰动,人们都想一睹为快。
然而,Mapmost的画作只展示在他位于宇宙中心的艺术馆中,这个艺术馆虽然宏伟,但容量有限,无法同时容纳所有想要欣赏画作的人。为了一睹《Alpha》,人们不得不长途跋涉,历经艰辛才能到达艺术馆,这不仅耗费了他们大量的时间和金钱,而且由于人数众多,艺术馆前的拥挤也让人们难以近距离欣赏画作。
这时,一位名叫Studio的粉丝提出了一个建议:在宇宙的各个主要城镇建立复制的艺术馆,将《Alpha》的复制品挂在这些艺术馆中展出。这样,无论观众身在何处,都可以在最近的城镇欣赏到这幅画作,而不必再长途跋涉到中心艺术馆。Mapmost采纳了Studio的建议,很快,复制的艺术馆在各个城镇建立起来,人们可以在自己所在的城镇欣赏到《Alpha》的复制品。这样的做法不仅大大减轻了中心艺术馆的压力,也让更多的人能够方便地欣赏到Mapmost的杰作,整个宇宙的艺术氛围因此变得更加浓厚。
没错,通过这个故事,我们可以更好的理解CDN(内容分发网络)的基本原理:通过在全球范围内分布式地部署边缘服务器,将各类互联网内容从互联网中心缓存到靠近用户的边缘服务器上,从而降低用户访问时延并大幅减少穿越互联网核心网的流量,达到优化互联网流量分布,进而提升终端用户服务质量的目的。
CDN的作用
加入CDN网络前后对比图,图源:@WL
那使用CDN可以给我们带来哪些具体的好处呢:
1.加快网站访问速度
这是 CDN 的初衷,也是 CDN 的主要作用,CDN 能够极大地提高网站访问速度,越是距离源服务器较远的用户,感受越明显。
2.降低源服务器压力,节省开支
几乎 80% 以上的访问量都被边缘节点承接了,只有内容更新或者缓存到期时才需要访问源服务器,这样源服务器的压力就会小很多,廉价的配置就能撑起巨大的流量。
3.提高服务安全性
CDN是网站基础设施的最外层,也是流量的第一个接收方, CDN 网络一般自带防火墙或者安全措施,即使黑客尝试粗暴的 DDoS 攻击也压垮不了网站,CDN 会检测出这种攻击,屏蔽可疑 IP。即使不屏蔽 IP,凭借 CDN 网络的大集群和均衡负载能力,DDoS 流量也压垮不了 CDN。
4.提高服务可用性和冗余性
如果一台服务器不可用,网络将把流量重定向到最近的服务器,
5.降低带宽成本
通过使用CDN,网站的静态资源甚至部分动态资源缓存到节点上,用户访问时可就近获取资源,减少了源服务器的负载和带宽消耗。同时,CDN能够根据用户的访问情况动态调整带宽分配,实现负载均衡,避免单点带宽过载,从而解决了带宽瓶颈问题。CDN还可以对传输的内容进行智能压缩和加速优化,减少数据传输量,提高传输效率,进一步降低了带宽消耗。
CDN在Alpha平台的应用
还记得前面earth-M平行宇宙的Alpha吗?我摊牌了。
Mapmost Alpha是一个创新的低代码平台,专为快速构建三维场景而设计。它提供丰富的二三维城市底板和模型上传服务,支持3dtiles和glTF格式,满足从精细模型到海量城市级模型的需求。用户可以通过拖拉拽的方式,轻松调配资源,快速搭建个性化的3D场景。此外,Alpha平台还提供300+区县的高清三维数据底板,以及市政、交通等多类型模型资源,助力用户打造逼真的数字孪生世界。其可视化应用功能编辑器,使得功能配置、场景交互和业务应用开发变得简单快捷,一键发布和共享功能更是拓宽了应用范围,适用于地理信息可视化、三维可视化等多个行业。
那么,Alpha平台上动则几百兆的模型资源数据是怎么端上来的呢,除了使用瓦片技术外,当然也离不开CDN的使用,最明显的感受就是在使用了CDN后,平台的带宽费用下降了一个数量级。下面我们结合Alpha平台这个成熟的案例来具体说明如何接入CDN。
首先,我们到域名供应商处申请了一个新的加速域名:“delivery.mapmost.com”,该域名下只存储平台中的静态文件(如图片、视频、CSS、JS)和模型资源文件(3Dtiles、glTF);
然后,到CDN服务商平台添加该域名,并设置其源站为我们实际放置上述文件的服务器IP或者指向该IP的域名;这时,CDN服务商平台会分配一个CNAME域名:delivery.mapmost.com.ucloud.com.cn,该域名格式一般是:<加速域名> + <服务商主域名>
最后,到域名供应商处给域名“delivery.mapmost.com”添加CNAME记录,其值为上一步得到的CNAME域名:“delivery.mapmost.com.ucloud.com.cn”
CNAME验证
我们通过dig命令来查看加速域名的 CNAME 记录,如下:
图源:@WL
可以看到,加入 CDN 后,我们的域名最终指向了二级域名是“gslb.ugslb.net“的域名,不难看出这是CDN的全局负载均衡(Global Sever Load Balance)一般简称为 GSLB,它是 CDN 的大脑。主要的职责是当用户接入网络的时候,在 CDN 专网中挑选出一个最佳节点提供服务,解决的是如何找到最近的节点,即边缘节点,负责对整个 CDN 网络进行负载均衡。顺便提一句从图中也可以看到gslb本身自己也做了负载均衡和高可用:其配置了三条A记录分别指向三个不同区域的gslb节点。
一张图说明CDN的具体工作流程
图源:@WL
关注Mapmost,持续更新GIS、三维美术、计算机技术干货
Mapmost是一套以三维地图和时空计算为特色的数字孪生底座平台,包含了空间数据管理工具(Studio)、应用开发工具(SDK)、应用创作工具(Alpha)。平台能力已覆盖城市时空数据的集成、多源数据资源的发布管理,以及数字孪生应用开发工具链,满足企业开发者用户快速搭建数字孪生场景的切实需求,助力实现行业领先。