`
pupi
  • 浏览: 438739 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

一个CDN问题 - 处理动态请求

阅读更多
当网站的负载达到一定负荷,需要扩容的时候,CDN正在成为网站的非常热门的选择。但是对于动态内容占绝大多数的网站,CDN是否还可以如期发挥作用呢?

我们都知道,CDN可以把网站的程序部署到不同的节点服务器上,并且就近响应用户的请求,这样可以缓解网站的负荷,有时候还可以防止攻击。

但是,一般的动态网站,数据库感觉很难同步部署到CDN的各个节点上。一方面是因为数据库一般不会直接暴露在公网中,另外一方面,数据库的数据实时性非常高,很难及时在远隔千里的节点去同步。

这样的话,各个节点的应用如果接收到动态的请求,因为本地没有数据库,并且由于数据库存在中心节点的内部网段,所以只好把请求转发给中心服务器去处理,等待处理完毕后,再把处理结果返回给CDN的服务器。感觉这种情况不仅不能有效地减轻负荷,反而适得其反。

也许像门户网站,存在大量静态内容,比如新闻,比如视频等,才适合用CDN ?
分享到:
评论
3 楼 thor0127 2007-12-15  
CDN 一般用来做静态文件的加速, 对于动态的数据的加速需要专用的设备。
我说的动态数据是指根据请求从源站点返回的数据。
在国内做的最大的是chinacache。
2 楼 pupi 2007-11-22  
在国内,真正能做到cdn 动态加速的公司还真挺少的。
1 楼 pupi 2007-11-01  
咨询了一些host cdn服务的公司:
一种比较常规的cdn处理动态请求的做法,是通过专用的超快速通道把节点的请求转发到主站,然后再把结果返回给节点。因为专用通道速度很快,所以用户几乎感觉不到。有点类似于把主站当代理服务器的意思。

相关推荐

    阿里云CDN服务-API手册-D.docx

    CDN API提供了一个开放的接口,用户可以使用该接口来管理和维护CDN服务。当前CDN Open API版本号为2014-11-11。 调用方式 调用CDN API接口需要向CDN API的服务端地址发送HTTP GET请求,并按照接口说明在请求中加入...

    阿里云CDN服务-常见问题.pdf

    若用户请求某资源,该 CDN 节点上没有缓存相应的内容,CDN 节点则会回到源站获取,然后再返回给用户,若加速域名与源站域名一致,会导致请求反复解析到 CDN 节点上,CDN 节点将无法正确地提供服务。

    前端开源库-cdn2

    1. **CDN的工作原理**:CDN通过在网络的多个节点上部署服务器,当用户请求一个网页时,CDN会将请求重定向到最近的边缘服务器,从而减少延迟,提高加载速度。 2. **静态资源优化**:前端开源库可能提供了对CSS、...

    Taobao海量图片存储与CDN系统-v2-系统架构师

    为了解决这一问题,淘宝团队自主研发了一套分布式文件系统——TFS(Taobao File System)1.0。 - **上线时间**:2007年6月 - **主要目的**:解决海量小文件的分布式存储问题。 - **技术特点**: - 集群规模:初始...

    阿里云CDN服务-API手册.pdf

    10. **错误处理**:当调用失败时,错误代码表可以帮助开发者识别并解决出现的问题。 11. **安全考虑**:签名机制(如HMAC-SHA1)用于确保请求的安全性,防止未授权访问。 通过这个手册,开发者能够理解如何使用...

    Laravel开发-cdn-webhook

    在Laravel中,你可以通过创建一个接收Webhook请求的控制器来处理CDN的通知。首先,需要在`routes/web.php`或`routes/api.php`中定义一个路由来接收Webhook的POST请求。然后,创建一个控制器方法,验证Webhook的签名...

    前端开源库-electrode-cdn-file-loader

    Webpack通过其插件系统,允许开发者自定义处理流程,而`electrode-cdn-file-loader`就是这样一个插件,它扩展了Webpack的功能,使其能够从CDN加载文件。 **CDN(内容分发网络)**是一种分布式网络服务,通过将网站...

    阿里云CDN服务-产品简介-D.docx

    阿里云CDN(内容分发网络)是一种高效的内容传输服务,旨在通过遍布全球的边缘节点服务器群,替代传统的中心化WEB Server数据传输模式,以优化用户访问速度和降低网络拥塞。该服务采用智能对象热度算法,实现资源的...

    Laravel开发-cdn-prefixer

    在Laravel框架中,开发一个名为“cdn-prefixer”的组件是为了增强默认的资产(assets)助手功能,特别是在处理CDN(内容分发网络)URL前缀方面。CDN是一种网络技术,通过在全球分布式节点上缓存网站静态资源,提高...

    ReplaceGoogleCDN, 一个 Chrome 插件:将 Google CDN 替换为国内的。.zip

    综上所述,ReplaceGoogleCDN 是一个方便实用的 Chrome 插件,旨在解决由于网络限制导致的 Google CDN 资源加载问题。通过开源的方式,它鼓励用户参与开发和改进,为国内用户提供更稳定、快速的网络体验。

    前端开源库-appc-express-cdn

    前端开源库——`appc-express-cdn`是一个专为Node.js应用程序设计的模块,特别是针对那些使用Express框架构建的项目。这个库的主要目的是优化、缩小、管理和通过CDN(内容分发网络)托管Web应用的静态资产,如...

    360-CDN技术交流

    通过上述对360-CDN技术架构、实现原理、核心问题、关键点和性能的详细介绍,可以看出360-CDN作为一个成熟的CDN服务提供商,其技术实现涉及了网络优化、数据管理、系统监控、自动化等多个方面,旨在为用户提供更快、...

    Go-dummyorigin-一个模拟源服务器来测试CDN或代理的行为

    `Go-dummyorigin`项目就是为了解决这个问题而诞生的一个工具,它是一个用Go语言编写的模拟源服务器,专门用于测试CDN或代理服务器的行为。 Go语言是一种高效、简洁且具有垃圾回收机制的编程语言,特别适合构建高...

    CDN 培训 PPT 什么是CDN 如何助力大促

    2. **URL模糊匹配**:通过智能匹配机制,提高CDN对请求的处理效率。 3. **合并回源**:减少对源站的独立请求,通过合并资源请求降低服务器负担。 4. **静态资源预热**:在大促前预加载常用静态资源至CDN节点,减少...

    Python-批量测试B站海外CDN节点延迟找出最低延迟的节点

    2. **测速函数**:编写一个函数,使用`requests.get()`方法向每个节点发送一个简单的HTTP请求,并记录响应时间。可以使用`time.time()`函数在请求前后记录时间,计算出延迟。 3. **并行处理**:为了提高效率,可以...

    EDUSOHO service-cdn

    "service-cdn"是EDUSOHO系统中的一个关键组件,主要涉及到CDN(Content Delivery Network)服务。CDN是一种分布式网络服务,能够通过将内容分发到全球各地的边缘节点,提高用户访问速度,降低延迟,从而提升用户体验...

    CDN 2021 完全攻击指南 (二) .pdf

    - 攻击者发送1字节的Range请求,CDN处理后可能放大响应,比如针对1MB资源的放大倍数通常超过1000倍。 - 这种不对称的响应流量可以造成DDoS攻击。 3. **重叠字节范围攻击(OBR)**: - 多范围请求可以导致服务器...

Global site tag (gtag.js) - Google Analytics