分布式缓存.pptx

上传人:b****3 文档编号:2732854 上传时间:2022-11-10 格式:PPTX 页数:28 大小:1.18MB
下载 相关 举报
分布式缓存.pptx_第1页
第1页 / 共28页
分布式缓存.pptx_第2页
第2页 / 共28页
分布式缓存.pptx_第3页
第3页 / 共28页
分布式缓存.pptx_第4页
第4页 / 共28页
分布式缓存.pptx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

分布式缓存.pptx

《分布式缓存.pptx》由会员分享,可在线阅读,更多相关《分布式缓存.pptx(28页珍藏版)》请在冰豆网上搜索。

分布式缓存.pptx

云计算环境下分布式缓存技术的现状与挑战什么是云计算:

云计算描述了一种新的基于互联网的IT服务增值、使用和交付模式,通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源,是数据共享与服务共享计算模式的结合体分布式缓存的引入:

云计算环境下,为了应对海量数据与用户请求带来的挑战,解决传统数据库面临的大规模数据访问瓶颈问题,分布式缓存技术得以引入,为用户提供高性能、高可用、可伸缩的数据缓存服务.分布式缓存拉近了对象与应用间的距离,是云平台提升应用性能的一种重要手段前言一:

分布式缓存概述1.1分布式缓存的特性1)高性能高性能:

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

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

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

提供单一的数据与管理视图;API接口简单,且与拓扑结构无关;动态扩展或失效恢复时无需人工配置;自动选取备份节点;多数缓存系统提供了图形化的管理控制台,便于统一维护;目前分布式缓存提供基于命令行(telnet登录)和基于B/S的图形化运维方式。

5)分布式代码执行分布式代码执行(distributedcodeexecution):

将任务代码转移到各数据节点并行执行,客户端聚合返回结果,从而有效避免了缓存数据的移动与传输.最新的Java数据网格规范JSR-3477中加入了分布式代码执行与Map/reduce的API支持,各主流分布式缓存产品,如IBMWebSphereeXtremeScale,VMwareGemFire,GigaSpacesXAP和RedHatInfinispan等也都支持这一新的编程模型.1.2典型应用场景分布式缓存的典型应用场景可分为以下几类:

1)页面缓存页面缓存用来缓存Web页面的内容片段,包括HTML、CSS和图片等,多应用于社交网站等;2)应用对象缓存应用对象缓存缓存系统作为ORM框架的二级缓存对外提供服务,目的是减轻数据库的负载压力,加速应用访问;3)状态缓存状态缓存缓存包括Session会话状态及应用横向扩展时的状态数据等,这类数据一般是难以恢复的,对可用性要求较高,多应用于高可用集群;4)并行处理并行处理通常涉及大量中间计算结果需要共享;5)事件处理事件处理分布式缓存提供了针对事件流的连续查询(continuousquery)处理技术,满足实时性需求;6)极限事务处理极限事务处理分布式缓存为事务型应用提供高吞吐率、低延时的解决方案,支持高并发事务请求处理,多应用于铁路、金融服务和电信等领域(如双十二高峰).1.3分布式缓存的发展分布式缓存经历了多个发展阶段,由最初的本地缓存到弹性缓存平台直至弹性应用平台,目标是朝着构建更好的分布式系统方向发展。

1)本地缓存本地缓存:

数据存储在应用代码所在内存空间.优点是可以提供快速的数据访问;缺点是数据无法分布式共享,无容错处理.典型的,如Cache4j(一个有简单API与实现快速的Java对象缓存);2)分布式缓存系统分布式缓存系统:

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

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

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

随着web2.0时代的到来,由于大部分传统数据库都是IO密集型的,大数据量高并发的数据库应用使得开发越来越困难。

2,NoSQL:

NoSQL数据库是没有R的DBMS(即没有关系的数据库管理系统),一般也缺乏对事务和其他高级特性的支持。

NoSQL更适合云环境下应用数据的存储需求,体现在以下几个方面:

1)根据CAP理论,一致性(consistency)、可用性(availability)和分区容错(partitiontolerance)这3个要素最多同时满足两个,不可能三者兼顾.对云平台中部署的大量Web应用而言,数据可用性与分区容错的优先级通常更高,所以一般会选择适当放松一致性约束.传统数据库的事务一致性需求制约了其横向伸缩与高可用技术的实现;2)传统数据库难以适应新的数据存储访问模式.Web2.0站点以及云平台中存在大量半结构化数据,如用户Session数据、时间敏感的事务型数据、计算密集型任务数据等,这些状态数据更适合以Key/Value形式存储,不需要RDBMS提供的复杂的查询与管理功能;3)NoSQL提供低延时的读写速度,支持水平扩展,这些特性对拥有海量数据访问请求的云平台而言是至关重要的.传统关系型数据无法提供同样的性能,而内存数据库容量有限且不具备扩展能力.分布式缓存作为NoSQL的一种重要实现形式,可为云平台提供高可用的状态存储与可伸缩的应用加速服务,与其他NoSQL系统间并无清晰的界限.云平台中应用访问与系统故障均具有不可预知性,为了更好地应对这些挑战,应用软件在架构时通常采用无状态设计,大量状态信息不再由组件、容器或平台来管理,而是直接交付给后端的分布式缓存服务或NoSQL系统.1.5分布式缓存与极限事务处理随着云计算与Web2.0的进一步发展,许多企业或组织时常会面对空前的需求:

百万级的并发用户访问、每秒数以千计的并发事务处理、灵活的弹性与可伸缩性、低延时及724365可用性等.传统事务型应用面临极限规模的并发事务处理,出现了极限事务处理型应用,典型的有铁路售票系统.Wikipedia认为,极限事务处理是每秒多于500次事务或高于10000次并发访问的事务处理。

极限事务处理的引入,无疑给传统Web三层架构(表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)带来了新的挑战.即,如何在廉价的、标准化的硬件和软件平台之上,对大容量、业务关键型的事务处理应用提供良好的支撑.分布式缓存作为一种关键的XTP技术,可为事务型应用提供高吞吐率、低延时的技术解决方案.其延迟写(write-behind)机制可提供更短的响应时间,同时极大地降低数据库的事务处理负载,分阶段事件驱动架构(stagedevent-drivenarchitecture)可以支持大规模、高并发的事务处理请求.此外,分布式缓存在内存中管理事务并提供数据的一致性保障,采用数据复制技术实现高可用性,具有较优的扩展性与性能组合.1.6相关的标准规范主要有JSR-107与JSR-347。

二:

分布式缓存技术分析框架DctAF本文在深入分析云计算的特点和缓存技术边界的基础上,建立了云环境下分布式缓存技术的分析框架(distributedcachetechniquesanalysisframework,简称DctAF).该框架从6个维度对现有缓存技术进行总结、比较与分析,这些维度分别对应了云计算所关注的6个方面的内容,同时也对应了研究领域中需要重点解决的若干方面问题.涵盖的6个分析维度如下所示:

1)弹性资源供给弹性资源供给(elasticity);2)可用性与可靠性可用性与可靠性(availabilityandreliability);3)敏捷性与自适应性敏捷性与自适应性(agilityandadaptability);4)多承租多承租(multi-tenancy);5)数据管理数据管理(datamanagement);6)数据安全与隐私防护数据安全与隐私防护(security,privacyandcompliance).2.1弹性资源供给弹性供给作为云计算的重要特征,是指在满足用户服务水平协议(SLA)的前提下,依据外界环境的变化动态调整缓存资源分配,实现资源的优化利用和按需供给.根据资源容量变化与否将该维度进一步细化为动态扩展和负载均衡两个分析侧面,这两个侧面分别从横向(应用实例的数量)和纵向(实例大小,以便维持资源)维度实现弹性资源供给.而数据迁移则是弹性供给的支撑技术.动态扩展动态扩展:

在线增加或删除节点以实现缓存容量的调整,同时保障服务持续可用.容量规划(capacityplanning)为弹性供给提供支持,其目标是确定初始和调整后的缓存容量和节点数.由于数据访问的规模与模式具有时变性,导致某些缓存节点成为瓶颈并制约整个系统的吞吐量.负载均衡负载均衡:

目标是使缓存数据与访问负载在节点间尽可能地均匀分布,包含客户端均衡与服务端均衡两种实现方法,对系统性能短板的消除及服务质量保障等具有重要作用.数据迁移数据迁移:

实现节点动态扩展与负载均衡的关键技术.目前,多数分布式缓存支持在线数据迁移,但迁移时缺乏对热点数据的均衡处理.数据迁移包括制定迁移计划(migrationplan)、路由信息同步、用户请求转发及数据一致性管理等核心内容.需要指出的是,数据迁移过程中伴随的大量状态同步会给系统性能带来一定影响,因此,如何有效降低迁移开销是需要着力解决的问题.2.2可用性与可靠性可用性:

可用性:

分布式缓存通常采用冗余机制实现高可用,相关技术包括复制与热备.复制技术主要针对缓存数据的可用性,粒度较细;而热备则主要针对关键节点的可用性,粒度较粗。

可用性同时强调冗余机制不能引入较大的性能开销。

复制技术中,每个节点的缓存数据以同步或异步复制方式备份至其他缓存节点,备份数一般是用户可配置的.当出现节点失效时,系统可以自动实施故障切换,将用户请求透明地迁移至备份节点,同时将缓存数据在节点间重新分布.分布式缓存中可能会存在某些关键服务节点(如配置服务器等),这些节点对缓存集群的运行起着至关重要的作用.为保障其可用性,通常采用热备技术为关键服务节点配置若干备份服务器,当主服务器失效时,备份服务器自动接管其服务.可靠性可靠性:

描述了缓存在规定的任务时间内无故障运行的可能性,相关技术包括成员关系维护与失效检测、数据持久化,前者主要从缓存节点的可靠性角度出发,而后者则主要从数据可靠性角度出发.成员关系维护与失效检测是分布式缓存重要的可靠性保障技术,支持协议包括Gossip,Jgroups和HeartBeat等.Gossip协议中,每个节点周期性地随机选取节点进行消息通信,收到消息的节点重复该过程,直至消息扩散到所有节点.该协议在大型、异构、动态变化的网络环境中具有良好的鲁棒性,其不足是占用内存资源较多,收敛时间长,启动延迟大.Jgroups提供了灵活可定制的协议栈,其通信协议包括UDP(IPmulticast)、TCP和JMS.Jgroups支持消息重传、大消息拆分和同序消息接收等,用户可灵活配置协议栈以满足个性化需求.HeartBeat协议采用心跳消息表征节点的健康状态,如果某一节点的心跳消息超过一定周期未被收到,则该节点会被标记为失效节点.数据持久化技术可以有效防止缓存服务器重启或整个集群失效而导致的数据丢失(主要针对关键业务数据或状态数据).缓存对象被定期同步至磁盘中,服务器重启后,磁盘中的

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 教学研究 > 教学计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1