`

ESI动态缓存技术

阅读更多

任何一个Web网站的内容都是在不断更新和变化,但这并不意味这这个网站的内容就是动态内容,事实上,动态的内容是指用户每次点击 相同的链接时取的的内容是由Web服务器应用程序生成的,如常见得ASP,JSP等,与此相对应,静态内容一般就是指由文本、图像和多媒体组成,在用户每 次单击相应链接时基本保持不变。现在解决动态内容缓存的最新技术就是通过ESI技术来设计网站的内容。

ESI技术工作原理 

 

    动态生成的内容能为用户带来丰富精彩的页面,网站开发者也可以更容易和更灵活地控制相关的内容,但在享受这些便利的同时,也增加了 网站数据库和应用服务器的处理压力的。当网站的访问量增大后,硬件和数据库的投资是非常巨大的,即使如此,仍然有可能导致页面的严重延迟甚至访问失败。 

 

    用户访问动态生成的内容速度慢的根本原因在于动态生成的内容需要经过一个复杂的过程,首先,根据用户请求的不同将用户的请求分配 到应用服务器相应的软件模块中,软件模块必须通过运算决定需要从数据库中提取什么样的数据给用户,然后再从数据库中提取出相应的数据按照定义的格式传给用 户。这些冗长的过程导致用户访问速度变慢,同时增加了服务器的负载

  

    在实际环境中,一个动态生成的页面,当中可能只有少量的内容是频繁变化的或是个性化的,对于传统的Cache服务器来说,为了能 够保证页面的时效性,却由于页面中这些少量的动态内容而无法将整个页面进行缓存。ESI(Edge Side Include)通过使用简单的标记语言来对那些可以加速和不能加速的网页中的内容片断进行描述,每个网页都被划分成不同的小部分分别赋予不同的缓存控制 策略,使Cache服务器可以根据这些策略在将完整的网页发送给用户之前将不同的小部分动态地组合在一起。通过这种控制,可以有效地减少从服务器抓取整个 页面的次数,而只用从原服务器中提取少量的不能缓存的片断,因此可以有效降低原服务器的负载,同时提高用户访问的响应时间。 

 

    ESI是一种简单的标识语言,开发人员可以使用它标志内容片断以便通过相应的Cache服务器来加速缓存。同时ESI还定义了一 套内容效验标准,可以实现原服务器对Cache服务器中缓存内容的管理,提高了网站对内容的控制能力。CDN网络也可以利用在分布全国各地的节点中安装支 持ESI的Cache服务器来提供对网站动态内容提供CDN服务。

分享到:
评论

相关推荐

    动态内容缓存技术(wenku)_CSI,SSI,ESI.pptx

    ESI 是一种边缘网络(如CDN,Content Delivery Network)上的缓存技术,用于在靠近用户的地方动态组装网页。它允许部分页面在边缘节点被缓存和更新,而不是整个页面。当一个页面有部分内容需要实时更新时,只有这...

    php缓存技术总结

    这可以通过类似输出缓冲技术或其他页面片段缓存技术(例如ESI)实现。ESI技术允许缓存动态内容的部分片段,而这些片段可由服务器动态生成,并与其他缓存片段组合成最终页面。 三、数据缓存 数据缓存是将数据库查询...

    网站常见缓存技术

    ### 网站常见缓存技术详解 #### 一、全页面静态化缓存 全页面静态化缓存是一种常见的缓存技术,尤其适用于内容管理系统(CMS)中。这种技术的核心在于将动态生成的页面转化为静态HTML文件,从而避免了每次用户访问...

    Python库 | django-esi-2.0.3.tar.gz

    这个库主要用于实现Edge Side Includes(ESI)功能,这是一种服务器端的页面拼接技术,可以提高网站性能,尤其是对于内容分发网络(CDN)环境中的动态内容部分。 **Django框架** Django是Python中最受欢迎的Web...

    java大型网站框架的演变

    这一步涉及到了页面片段缓存技术,例如ESI等,想用好的话同样需要掌握ESI的实现方式等。 在第四步中,我们使用数据缓存机制,将一些重复获取数据信息的地方缓存起来,例如获取用户信息等。这一步涉及到了缓存技术,...

    Asp.NET性能优化之局部缓存

    1. Client Side Includes (CSI):通过JavaScript、iframe等技术将页面的部分内容动态包含进来。这种方式可以利用浏览器的缓存机制,降低网络传输时间,但可能面临SEO问题、JavaScript兼容性问题,以及客户端缓存可能...

    壁架:Nginx OpenResty的一个符合RFC且具有ESI功能的HTTP缓存,由Redis支持

    综上所述,壁架是一个结合了Nginx OpenResty、Redis、ESI和Lua技术的高效HTTP缓存解决方案,适用于需要快速响应和高可用性的场景。通过使用Redis Sentinel和Edge Computing,它还提供了一种可靠且灵活的边缘服务架构...

    大型网站架构的演变.pdf

    第二步,为了进一步提升性能,引入了页面缓存技术,如Squid。Squid作为前端页面缓存服务器,能够缓存相对静态的页面,减少数据库查询,从而减轻webserver和数据库的负担。了解Squid的工作原理和缓存失效策略是这一...

    大型网站架构演变和知识体系.pdf

    为了解决这一问题,可以引入页面片段缓存技术,例如使用ESI(Edge Side Includes)等技术对页面中的静态部分进行缓存。这种方式可以进一步减少对数据库的依赖,提高页面加载速度。实现这一目标需要掌握ESI的具体实现...

    大型网站架构演变和知识体系

    - **页面片段缓存技术(如ESI):** 掌握ESI等技术,能够有效缓存动态页面中的静态部分。 - **动态内容处理:** 了解如何识别哪些内容适合被缓存,以及如何实现这些内容的高效更新。 #### 架构演变的第四步:数据...

    一步步构建大型网站架构.doc

    从最初的 Web 服务与数据库分离,到利用缓存技术缓解数据库压力,再到扩展 Web 服务器群集提高并发处理能力,每一步都旨在提升用户体验的同时保证系统的稳定性与可扩展性。在整个过程中,掌握相关技术原理与最佳实践...

    ASP.NET性能优化之局部缓存分析

    1. Client-Side Includes(CSI):利用frame、iframe、JavaScript等技术动态加载页面片段。这种方法的优点是能充分利用客户端处理能力,减少服务器请求,但同时存在搜索引擎优化问题、JavaScript兼容性问题、客户端...

    Laravel开发-orthrus

    例如,可以将用户评论或购物车内容这样的动态区域标记为ESI,而页面的其他部分则可以被缓存。 6. **缓存策略** `Othrus` 支持多种缓存策略,包括基于时间的过期、基于内容变化的更新等。开发者可以根据需求选择...

    大型网站技术架构分析(余浩东).pdf

    页面片段缓存技术,如ESI(Edge Side Includes),可以用于缓存页面的特定部分,但需要服务器端的支持,如apache(mod_esi)、WebLogic和JSP标签库(JESI)等。 总结来说,大型网站技术架构涉及流量规模、内容动态性、...

    基于片段缓存的动态网页传送模型 (2016年)

    片段缓存机制是加速动态网页分发的有效解决方案之一,但是实施片段缓存需要有效的共享片段检测机制。针对这种情况,提出一种高效的共享片段检测算法,并介绍了基于片段缓存的动态网页传送模型。该模型能够自动识别...

    详解:大型网站架构演变和知识体系

    - **缓存技术:** - 理解缓存的基本概念及其对系统性能的影响。 - Squid的工作原理及配置技巧。 - 缓存的失效策略,例如LRU(最近最少使用)算法。 - **运维知识:** - 服务器资源监控与优化。 - 系统性能调优...

    esi-engine:边缘服务器的实施包括规范,包括一些 Akamai 扩展

    1. **内容分发优化**:通过在边缘服务器上处理内容,esi-engine 可能包含智能缓存策略,根据用户请求和资源更新频率动态管理内容。 2. **动态内容生成**:边缘服务器可能需要处理部分动态请求,例如根据用户个性化...

Global site tag (gtag.js) - Google Analytics