CDN
CDN的全称是ContentDeliveryNetwork,即内容分发网络。CDN是构建在网络之上的内容分发网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。
内容存储技术
CDN需要考虑两个方面的内容存储问题,一个是内容源的集中存储,另一个是内容在Cache节点中的分布式存储。由于内容的规模比较大,内容的吞吐量较大,因此,通常采用海量存储架构。目前常用的存储技术主要有直连附加存储、网络附加存储和存储区域网。
某公司反馈:
最近刚开发了一款APP,后端服务器被安置在美国亚马逊的AWS EC2上,由于在国内访问速度很慢,后来选择升级EC2,同时也使用了CDN加速服务。但是,在国内访问效果依然极差,联通3G网络访问情况下根本就不能访问!!!
Q:为什么平台在使用CDN加速服务后,效果适得其反,速度不增反降?
问题分析
?美国针对亚洲出口带宽小,而且美国到国内路程又远,固然国内访问就会慢。
?如果APP用户群集中在国内,当然是放国内机房最好。
但是,如果是考虑到APP服务器内容方面受国内制度限制和海外用户也需要访问,那放香港机房是最佳选择,因为香港不需要备案,另外出口带宽充足,不但国内访问快,亚洲地区访问也更加迅速。
?此外
“假设企业在香港或者美国使用的VPS,那么此类情况下公司申请了优质CDN厂商提供的加速服务,如果已经备案了,那么便可以享受国内不同地区的节点所提供的服务。
如果没有备案,那么CDN厂商还是只能给企业提供境外的节点来进行中继,这样的话很有可能把平台香港VPS的内容分发到美国节点,反而会导致公司的网站访问变慢。
再者,就算同样是美国节点也未必有VPS的综合性能更好,因此也可能导致网页打开速度更慢。
当然上述假设存在理论上的可能性,并不绝对,鉴于香港的线路也分国际线路和“直连”内地的线路。”——视界云
诚然,绝大多数情况下,CDN能够通过缓存和前端优化,获得更快的响应时间和帮助用户畅享更极致的用户体验!
但CDN未必适合在所有情况下,作为优化性能的最佳选择!以下面三种情况为例:
?适度的用户群
企业拥有庞大和多样化的用户群,则部署CDN非常有意义!
但是,如果只是具有强针对性的和特定的小范围用户群,如组织内部使用的内部网或者企业的用户群体非常有限的话,采用其他改进用户体验的方法也许会较为合适。
针对这类用户,视界云推荐可以采用“实现延迟加载”方法来替代CDN服务,这种技术可以确保将要素立即提供给用户,其余内容是按需加载。结果是智能带宽消耗,最小页面加载速度和由于速度改进而改善了用户体验。
?极端本地化用户群
对于CDN而言,最突出的优点之一便是可以将加速内容传送给全球客户。
但是,如果您将内容定位到位于给定地理区域内的用户,则使用CDN可能并不是最适合的,比如一所学校或大学的网站。
对于这样一类集中用户群而言,视界云推荐您可以尝试在您的网站上“实现预取”的方法。预取而言,本质上将获取用户希望访问的组件,极大地提高了用户端的感知负载时间。
?监管和复杂的治理要求
如果您的组织处理敏感的用户数据,常规上,您将有一份复杂的治理协议,旨在不遗余力地保护用户数据。这可能包括主权要求,其中规定数据应留在某一国家的实际管辖范围内。在这种情况下,部署CDN可能不一定很适合,因为这意味着数据如果缓存在管辖范围以外的国家/地区的服务器上,可能会违反主权要求。
关于CDN加速原理
内容传送网络(CDN)是将网站内容分发到不同地区的节点上,通过此方式来缩短访问者主机与储存网站内容的主机之间的距离,也包括解决不同运营商线路所导致的访问速度降低的尴尬问题。
顶级CDN具有实时可扩展性和最小化网络延迟的能力。这意味着用户在尽可能短的时间内收到数据,最小的数据包丢失,资源以最佳方式耗费。
CDN像一种桥接的方式,使用CDN的好出也是显而易见的,一般上有如下几个好处:
【1】缩短主机之间访问时信息传递的距离,达到加速效果;
【2】分发至不同线路的节点后可以让不同线路的访问者在访问时提升实际的响应速度,比如电信和联通网络的访问差异,同样达到加速效果;
【3】分发后的不同节点IP地址不同,而且会自然的隐藏掉源寄存主机的真实IP,这样可以防止一些恶意攻击,达到安全保护效果。
当用户访问支持CDN的网站时,他们可以在加载速度方面得到显着改善,同样提高了用户使用体验。
CDN所提供的服务其实不亚于另一台主机或另多台主机。之所以这样说是因为这些分发的节点服务器需要承担网站的访问量和一些其他需求,比如防御攻击或者缓存更新的速度,甚至搜索引擎蜘蛛DNS同步和缓存过期时间等等。CDN功能上基本接替源主机的作用,甚至有些层面还要超越源主机,综合来看,性能越好功能越强大的CDN服务,价格也会更加趋于市场上游。
结语
平台是否选择使用CDN服务,需要结合具体场景下去看待,不能一概而论。否则,可能会适得其反加速沦为减速带!
然则,在大多数情况下,如视界云一样的行业CDN服务商,旨在协助平台提高网站响应速度、提高稳定性以及提供更多一层的安全防护功能。
此外,平台通过部署CDN服务也会对产品体验带来重大的改进和体验变革!
理论上这种情况不太科学,但是出现的原因也很简单很容易理解。比如,你在香港或者美国使用的VPS,那么在这种情况下你申请一些大厂商提供的CDN加速服务,如果你备案了,那么可以享受国内不同地区的节点提供的服务。如果没有备案,那么厂商还是只能给你提供境外的节点来进行中继,这样的话很有可能把你香港VPS的内容分发到美国节点,反而导致你网站访问变慢,就算同样是美国节点也未必有你VPS的综合性能更好,因此也可能导致网页打开速度更慢。
但是,如果你已经备案了那么你可以直接选择国内的VPS之类,或许一次就解决问题了,很有可能你不太须要使用CDN服务了。除非你有特别的原因。
然而如果没有备案的话,比较科学的做法应该是比如你用的是美国的VPS然后用香港的CDN节点来提供访问。(当然这是理论上的,不绝对,因为香港的线路也分国际线路和“直连”内地的线路。)
因此,是否使用CDN服务,还要具体问题具体去看待,不能一概而论。否则,很有可能导致CDN减速的状况。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)