架构之CDN缓存

摘要:
CDN缓存CDN主要用于将数据缓存到离用户最近的位置。通常,它缓存静态资源文件。为了解决跨运营商或本地用户访问的问题,CDN应用程序可以部署在重要城市。CND原则CDN的基本原则是广泛使用各种缓存服务器,将这些缓存服务器分发到用户访问相对密集的区域或网络。当用户访问网站时,使用全局加载技术来引导用户访问最近的正常缓存服务器,缓存服务器将直接响应用户的请求。与不部署CDN服务相比,它减少了1个节点和4个步骤的访问。

CDN缓存

CDN主要解决将数据缓存到离用户最近的位置,一般缓存静态资源文件(页面,脚本,图片,视频,文件等)。国内网络异常复杂,跨运营商的网络访问会很慢。为了解决跨运营商或各地用户访问问题,可以在重要的城市,部署CDN应用。使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。

CND原理

CDN的基本原理是广泛采用各种缓存服务器,将这些缓存服务器分布到用户访问相对集中的地区或网络中,在用户访问网站时,利用全局负载技术将用户的访问指向距离最近的工作正常的缓存服务器上,由缓存服务器直接响应用户请求。

(1)       未部署CDN应用前

 架构之CDN缓存第1张

网络请求路径:

请求:本机网络(局域网)——》运营商网络——》应用服务器机房

响应:应用服务器机房——》运营商网络——》本机网络(局域网)

在不考虑复杂网络的情况下,从请求到响应需要经过3个节点,6个步骤完成一次用户访问操作。

(2)       部署CDN应用后

架构之CDN缓存第2张
网络路径:

请求:本机网络(局域网)——》运营商网络

响应:运营商网络——》本机网络(局域网)

在不考虑复杂网络的情况下,从请求到响应需要经过2个节点,2个步骤完成一次用户访问操作。

与不部署CDN服务相比,减少了1个节点,4个步骤的访问。极大的提高的系统的响应速度。

 CDN优缺点

(1)优点(摘自百度百科)

1、本地Cache加速:提升访问速度,尤其含有大量图片和静态页面站点;

2、镜像服务:消除了不同运营商之间互联的瓶颈造成的影响,实现了跨运营商的网络加速,保证不同网络中的用户都能得到良好的访问质量;

3、远程加速:远程访问用户根据DNS负载均衡技术智能自动选择Cache服务器,选择最快的Cache服务器,加快远程访问的速度;

4、带宽优化:自动生成服务器的远程Mirror(镜像)cache服务器,远程用户访问时从cache服务器上读取数据,减少远程访问的带宽、分担网络流量、减轻原站点WEB服务器负载等功能。

5、集群抗攻击:广泛分布的CDN节点加上节点之间的智能冗余机制,可以有效地预防黑客入侵以及降低各种D.D.o.S攻击对网站的影响,同时保证较好的服务质量。

(2)缺点

1.动态资源缓存,需要注意实时性;

解决:主要缓存静态资源,动态资源建立多级缓存或准实时同步;

2.如何保证数据的一致性和实时性需要权衡考虑;

解决:

  1. 设置缓存失效时间(1个小时,最终一致性);
  2. 数据版本号;

CND架构参考

摘自《云宙视频CDN系统》

 架构之CDN缓存第3张 

CND技术实践

         目前,中小型互联网公司,综合成本考虑,一般租用第三方CDN服务,大型互联网公司,采用自建或第三方结合的方式。比如淘宝刚开始使用第三方的,当流量很大后,第三方公司无法支撑其CDN流量,淘宝最后采用自建CDN的方式实现。

淘宝CDN,如下图(来自网络):

 架构之CDN缓存第4张

点击链接加入群【.NET大型网站架构】433685124QQ群

免责声明:文章转载自《架构之CDN缓存》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇【转】foxmail邮箱我已进清理了为什么还是说我的邮箱已满BrnShop开源网上商城第一讲:架构设计下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Shell常用命令之free

前言 free查看当前系统的内存及交换分区使用情况。(写这篇文档是因为一次面试中,面试官问道buff cache你了解吗? 两个月不碰系统突然有些懵。。。你了解什么叫buff/cache吗?) 语法格式 free [options] 选项 -b:以Byte为单位显示内存使用情况 -k:以KB为单位显示内存使用情况 -m:以MB为单位显示内存使用情况 -g:...

jsdelivr 缓存刷新

CDN 缓存 jsDelivr 提供的全球 CDN 加速,CDN的分流作用不仅减少了用户的访问延时,也减少的源站的负载。但其缺点也很明显:当网站更新时,如果CDN节点上数据没有及时更新,即便用户再浏览器使用Ctrl +F5的方式使浏览器端的缓存失效,也会因为CDN边缘节点没有同步最新数据而导致用户端未能及时更新。 CDN边缘节点对开发者是透明的,相比于浏览...

携程结合用户画像

用户画像作为“大数据”的核心组成部分,在众多互联网公司中一直有其独特的地位。作为国内旅游OTA的领头羊,携程也有着完善的用户画像平台体系。目前用户画像广泛用于个性化推荐,猜你喜欢等;针对旅游市场,携程更将其应用于“房型排序”“机票排序”“客服投诉”等诸多特色领域。 本文将从目的,架构、组成等几方面,带你了解携程在该领域的实践。 1.携程为什么做用户画像...

MyBatis(缓存机制)

缓存可以极大的提升查询效率。 MyBatis系统中默认定义两级缓存(一级缓存和二级缓存)。 一、两级缓存 1、一级缓存:(本地缓存):sqlSession级别的缓存。一级缓存是一直开启的;sqlSession级别的一个Map。   与数据库同一次会话期间查询到的数据会放在本地缓存中   以后如果需要获取相同的数据,直接从缓存中拿,没必要再去查询数据库;...

C#编程中关于数据缓存的经验总结一直以来,

C#编程中关于数据缓存的经验总结一直以来,我都发现程序的运行速度不够理想。通过查代码,发现程序对数据库的访问非常频繁,而且检索出来的数据量比较大。为了让程序运行快起来,我想对程序采用适当的缓存方法。我在C#尝试了5种方法进行数据缓存,具体如下:(如有遗漏,错误欢迎大家指正,欢迎提建议。)1:Session方法:此方法是针对于每个用户来的,如果用户量比较大,...

Firefox配置文件夹详解

参考此文会帮助你更好的管理和备份Firefox配置文件,此文没有列出的文件大多是Firefox运行时生成的一些随机文件,大多无用,备份或管理配置文件时酌情删除。 在地址栏输入about:support回车,点击如下图的显示文件夹即可打开当前运行的Firefox配置文件夹 文件夹: adblockplus文件夹       若安装了Adblock Plus...