`

缓存概述

阅读更多

1.1 分布式缓存的特性

 

分布式缓存具有如下特性: 

 

1) 高性能:当传统数据库面临大规模数据访问时,磁盘I/O 往往成为性能瓶颈,从而导致过高的响应延迟.分布式缓存将高速内存作为数据对象的存储介质,数据以key/value 形式存储,理想情况下可以获得DRAM 级的读写性能; 

 

2) 动态扩展性:支持弹性扩展,通过动态增加或减少节点应对变化的数据访问负载,提供可预测的性能与扩展性;同时,最大限度地提高资源利用率; 

 

3) 高可用性:可用性包含数据可用性与服务可用性两方面.基于冗余机制实现高可用性,无单点失效(single point of failure),支持故障的自动发现,透明地实施故障切换,不会因服务器故障而导致缓存服务中断或数据丢失.动态扩展时自动均衡数据分区,同时保障缓存服务持续可用; 

 

4) 易用性:提供单一的数据与管理视图;API 接口简单,且与拓扑结构无关;动态扩展或失效恢复时无需人工配置;自动选取备份节点;多数缓存系统提供了图形化的管理控制台,便于统一维护; 

 

5) 分布式代码执行(distributed code execution):将任务代码转移到各数据节点并行执行,客户端聚合返回结果,从而有效避免了缓存数据的移动与传输.最新的Java 数据网格规范JSR-347中加入了分布式代码执行与Map/reduce 的API 支持,各主流分布式缓存产品,如IBM WebSphere eXtreme Scale,VMware GemFire,GigaSpaces XAP 和Red Hat Infinispan 等也都支持这一新的编程模型. 

 

1.2 典型应用场景 

 

分布式缓存的典型应用场景可分为以下几类: 

 

1) 页面缓存.用来缓存Web 页面的内容片段,包括HTML、CSS 和图片等,多应用于社交网站等; 

 

2) 应用对象缓存.缓存系统作为ORM 框架的二级缓存对外提供服务,目的是减轻数据库的负载压力,加速应用访问; 

 

3) 状态缓存.缓存包括Session 会话状态及应用横向扩展时的状态数据等,这类数据一般是难以恢复的,对可用性要求较高,多应用于高可用集群; 

 

4) 并行处理.通常涉及大量中间计算结果需要共享; 

 

5) 事件处理.分布式缓存提供了针对事件流的连续查询(continuous query)处理技术,满足实时性需求; 

 

6) 极限事务处理.分布式缓存为事务型应用提供高吞吐率、低延时的解决方案,支持高并发事务请求处理,多应用于铁路、金融服务和电信等领域. 

1.3 分布式缓存的发展 

 

分布式缓存经历了多个发展阶段,由最初的本地缓存到弹性缓存平台直至弹性应用平台[8],目标是朝着构建更好的分布式系统方向发展(如下图所示). 

 

1) 本地缓存:数据存储在应用代码所在内存空间.优点是可以提供快速的数据访问;缺点是数据无法分布式共享,无容错处理.典型的,如Cache4j;

 

2) 分布式缓存系统:数据在固定数目的集群节点间分布存储.优点是缓存容量可扩展(静态扩展);缺点是扩展过程中需要大量配置,无容错机制.典型的,如 Memcached;

 

 

 

3) 弹性缓存平台:数据在集群节点间分布存储,基于冗余机制实现高可用性.优点是可动态扩展,具有容错能力;缺点是复制备份会对系统性能造成一定影响.典型的,如 Windows Appfabric Caching;

 

 

 

 

4) 弹性应用平台:弹性应用平台代表了云环境下分布式缓存系统未来的发展方向.简单地讲,弹性应用平台是弹性缓存与代码执行的组合体,将业务逻辑代码转移到数据所在节点执行,可以极大地降低数据传输开销,提升系统性能.典型的,如 GigaSpaces XAP. 

 

 

  

 

 

分享到:
评论

相关推荐

    asp2_0缓存概述

    asp2_0缓存概述 本人收藏了3年的资源 现放出 都是总结了很多系统 软件项目实施过程中的经验的 慢慢积累的

    大型分布式系统中的缓存架构

    缓存概述缓存概述缓存的分类缓存主要分为四类,如下图:缓存的分类CDN 缓存CDN(Content Delivery Network 内容分发网络)的基本原理是广泛采使用各种缓存服务器,将这些缓存服务器分布到使用户访问相对集中的地区或者

    Web缓存技术概述.pdf

    Web缓存技术概述.pdf

    概述ASP.NET缓存机制

    asp.net页面缓存技术(Cache、XML) 概述ASP.NET缓存机制

    Hibernate缓存深入详解

    Hibernate缓存深入详解,详细介绍Hibernate缓存机制。 1.Hibernate缓存概述 2.Hibernate一级缓存(Session缓存) 3.Hibernate二级缓存 4.查询缓存 5.二级缓存的高级应用(分布式缓存)

    MySQL缓存研究

    1. MySQL缓存概述 2. MySQL缓存研究内容与目的 3. MySQL缓存研究方法 4. MySQL缓存研究报告 5. MySQL缓存实验报告 6. 课题研究结论 7. 总结

    微软ASP.NET入门教程

    缓存概述 页输出缓存 页片断缓存 页数据缓存 配置 配置概述 配置文件格式 检索配置 部署 部署应用程序 使用进程模型 处理错误 安全性 安全性概述 身份验证与授权 基于 Windows 的身份验证 基于窗体...

    《零基础学ASP.NET 2.0》第17章 数据缓存

    17.1 ASP.NET 2.0缓存概述 299 17.2 使用页面输出缓存 299 17.2.1 启用页面输出缓存 299 17.2.2 按参数改变缓存内容 301 17.2.3 按头改变缓存内容 303 17.2.4 使用自定义字符串改变缓存内容 304 17.2.5 设置缓存位置...

    Hibernate缓存

    Hibernate缓存讲解PPT 1.Hibernate缓存概述 2.Hibernate一级缓存(Session缓存) 3.Hibernate二级缓存 4.查询缓存 5.二级缓存的高级应用(分布式缓存)

    概述ASP.NET缓存机制示例

    概述ASP.NET缓存机制示例 概述ASP.NET缓存机制示例

    2021年MySQL高级教程视频.rar

    03.MySQL高级查询缓存概述及流程.avi 04.MySQL高级查询缓存配置参数.avi 05.MySQL高级查询缓存开启查询缓存.avi 06.MySQL高级查询缓存SELECT选项.avi 07.MySQL高级查询缓存失效场景.avi 08.MySQL高级内存优化优化...

    运维趋势 第十六期 CDN服务缓存系统概述

    51CTO出品,运维趋势, 第十六期 CDN服务缓存系统概述。

    pop-cache:Pop缓存组件

    弹出缓存概述pop-cache提供了通过几个不同的适配器缓存经常访问的内容的功能。 根据服务器环境和可用资源,应用程序可以使用以下缓存适配器之一: APC(缓存服务) 文件(磁盘上的目录) Memcache(缓存服务) Redis...

    ASP.NET3.5从入门到精通

    13.3.1 缓存概述 13.3.2 页面输出缓存 13.3.3 页面部分缓存 13.3.4 应用程序数据缓存 13.3.5 检索应用程序数据缓存对象 13.4 小结 第 14 章 ASP.NET XML 和Web Service 14.1 XML 简介 14.2 读写XML 14.2.1 XML 与...

    cachex:强大的Elixir缓存库,支持事务,后备和过期

    目录缓存预热React升温概述信使到期日用例主动变暖概述定义用例自定义命令定义命令调用命令磁盘互动分布式缓存概述地方行动残疾人行动执行钩子创建钩子规定流缓存复杂串流TTL实现看门人进程延迟过期移居迁移到v3.x ...

    ASP.NET 3.5 开发大全word课件

    13.3.1 缓存概述 13.3.2 页面输出缓存 13.3.3 页面部分缓存 13.3.4 应用程序数据缓存 13.3.5 检索应用程序数据缓存对象 13.4 小结 第14章 ASP.NET XML和Web Service 14.1 XML简介 14.2 读写XML 14.2.1 XML与HTML ...

    ASPNET35开发大全第一章

    13.3.1 缓存概述 13.3.2 页面输出缓存 13.3.3 页面部分缓存 13.3.4 应用程序数据缓存 13.3.5 检索应用程序数据缓存对象 13.4 小结 第14章 ASP.NET XML和Web Service 14.1 XML简介 14.2 读写XML 14.2.1 XML与HTML ...

    ASP.NET 3.5 开发大全11-15

    13.3.1 缓存概述 13.3.2 页面输出缓存 13.3.3 页面部分缓存 13.3.4 应用程序数据缓存 13.3.5 检索应用程序数据缓存对象 13.4 小结 第14章 ASP.NET XML和Web Service 14.1 XML简介 14.2 读写XML 14.2.1 XML与HTML ...

    ASP.NET 3.5 开发大全

    13.3.1 缓存概述 13.3.2 页面输出缓存 13.3.3 页面部分缓存 13.3.4 应用程序数据缓存 13.3.5 检索应用程序数据缓存对象 13.4 小结 第14章 ASP.NET XML和Web Service 14.1 XML简介 14.2 读写XML 14.2.1 XML与HTML ...

Global site tag (gtag.js) - Google Analytics