举例:很多人都这样举例,这里也记录一下,cdn的服务简单的实现是由dns解析服务器和几个缓存服务器构成的,在dns解析的时候可以根据ip地址分析地理位置,将请求分配到更近的服务器,通过请求的内容会去检查哪些服务器有资源并且有响应的能力,最终来返回一个最佳节点的缓存服务器的ip地址,本地发起请求。
结构和访问:
我的理解是在一个源站(源站服务器的资源与我们的服务器资源保持一致且最新),周围有很多的cdn缓存服务器,这些服务器会有周期的对资源进行从源站进行更新,这个更新的时间是需要平衡的,因为在访问cdn边缘服务器的时候会进行回源的处理:访问的时候会进行最近站点的分配,当被分配的站点没有资源或者资源过期则需要回源进行更新,拿到最新的资源后缓存到cdn的服务器并返回。这里就有两种回源的比例: 1、是回源请求比,2、是回源流量比;所以同步的时间不能太长也不能太短,一般根据资源的不同设置不同的时间,静态的不常更新的资源如js或图片资源设置在一天或以上,而动态更新的资源设置的一般很短,如果有需要可以通过手动调用刷新来实现资源的同步。这样既保证了较高的命中率,减轻了源站的负担,也避免了频繁的资源无效更新。
最初的问题
更多:https://www.jianshu.com/p/e7751ecb6f21
1、存储和回源是cdn的两大功能:cdn的结构是分为源站和cdn边缘节点,平时我们用于访问的,其实是cdn的边缘节点,这些节点进行的缓存是按照http请求的max-age进行的,当用户发起请求时,边缘cdn服务器发现缓存过期,则会去源站获取最新的数据,这就是回源请求;如果cdn的规模很大,在边缘服务器和源站之间可能存在区域层,进行区域的控制和提供缓存
2、问题:cdn整体是需要进行数据的更新,如果说边缘没有更新,会导致用户取不到最新的资源,这时可以通过CDN服务商提供的“刷新缓存”来对边缘服务器进行数据的清理
cdn的优势
cdn的优势:在各个运营商以及用户之间建立了cdn的服务网络
- 提供缓存加快访问速度,尤其是包含静态资源的网站,提供稳定的服务
- 解决了跨运营商的互联瓶颈,给不同的运营商提供可靠快速的同等的服务
- 远程加速,通过cdn的平台提供负载均衡,分配更近的服务
- 带宽优化,通过镜像服务器可以减少远程服务器的压力,分担网络流量
- 防dos攻击,基于cdn提供的高带宽服务,很难被攻击,一旦受到攻击,cdn通过自身的智能节点分配,将流量分散。
dos攻击有几种表现形式:SYN Flood /ACK Flood/ Connection Flood/ Http get Flood
对于dos攻击一方面是提供更高的带宽服务,另一方面是将无用的请求、连接、报文进行清除
网友评论