分布式缓存组件技术

上传人:bei****lei 文档编号:247429671 上传时间:2024-10-18 格式:PPT 页数:26 大小:338KB
返回 下载 相关 举报
分布式缓存组件技术_第1页
第1页 / 共26页
分布式缓存组件技术_第2页
第2页 / 共26页
分布式缓存组件技术_第3页
第3页 / 共26页
点击查看更多>>
资源描述
*,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,分布式缓存组件技术,缓存是什么,解决什么问题?,Cache,是高速缓冲存储器 一种特殊的存储器子系统,其中复制了频繁使用的数据以利于快速访问,凡是位于速度相差较大的两种硬件,/,软件之间的,用于协调两者数据传输速度差异的结构,均可称之为,Cache,基于,Web,应用的系统架构图,数据库,应用服务器,Web,服务器,存储设备,浏览器,Web,应用架构,操作系统的文件系统,Web,应用系统存在哪些速度差异?,读取文件系统, 读取磁盘,读取数据库内存 读取文件系统,读取应用内存 访问数据库服务器,读取静态文件 访问应用服务器,读取浏览器缓存 访问网站,缓存技术分类,操作系统磁盘缓存, 减少磁盘机械操作,数据库缓存, 减少文件系统,I/O,应用程序缓存, 减少对数据库的查询,Web,服务器缓存, 减少应用服务器请求,客户端浏览器缓存, 减少对网站的访问,常用的应用程序缓存组件概述,OSCache,OSCache,是个一个广泛采用的高性能的,J2EE,缓存框架,,OSCache,能用于任何,Java,应用程序的普通的缓存解决方案。,官方网站,Cachingsystem),是一个用分布式的缓存系统,是基于服务器的,java,应用程序。它是通过提供管理各种动态缓存数据来加速动态,web,应用。,官方网站,http:/jakarta.apache.org/turbine/jcs/,。,常用的应用程序缓存组件概述,EHCache,EHCache,是一个纯,java,的在进程中的缓存,主要特性有:快速; 简单; 多种缓存策略; 缓存数据有两级:内存和磁盘,因此无需担心容量问题; 缓存数据会在虚拟机重启的过程中写入磁盘; 可以通过,RMI,、可插入,API,等方式进行分布式缓存; 具有缓存和缓存管理器的侦听接口; 支持多缓存管理器实例,以及一个实例的多个缓存区域;提供,Hibernate,的缓存实现。,官方网站,。,常用的应用程序缓存组件概述,Memcached,Memcached,是一种集中式,Cache,,支持分布式横向扩展。总结几个它的特点来理解一下它的优点和限制。内存存储,不言而喻,速度快,对于内存的要求高,不指出的话所缓存的内容非持久化。对于,CPU,要求很低,所以常常采用将,Memcached,服务端和一些,CPU,高消耗,Memory,低消耗应用部属在一起。,常用的应用程序缓存组件概述,Cache4J,Cache4J,是一个接口简单,可以快速上手,基于,BSD,许可的开源缓存软件。,Cache4J,有以下特点:暂只只是内存缓存;多线程环境设计;,2,种实现:,synchronized, blocking,;支持,LFU, LRU, FIFO,算法。支持磁盘存储,分布式引用,以及,LFU2, LRU2,等算法将是,Cache4J,接下来要实现的功能;另外,该软件的使用指南和,API,文档均是俄文 。,官方网站:, Server,目前其中的三种是最为常用集群方式,分别是,RMI,、,JGroups,以及,EhCache Server,。下面主要对这三种常用的集群方式作简单的介绍,分布式解决方案,RMI,集群模式,Rmi,是,Java,的一种远程方法调用技术,是一种点对点的基于,Java,对象的通讯方式。,EhCache,从,1.2,版本开始就支持,RMI,方式的缓存集群。在集群环境中,EhCache,所有缓存对象的键和值都必须是可序列化的,也就是必须实现,java.io.Serializable,接口,这点在其它集群方式下也是需要遵守的。,分布式解决方案,RMI,集群模式应用程序结构图,分布式解决方案,JGroups,集群模式,EhCache,从,1.5.,版本开始增加了,JGroups,的分布式集群模式。与,RMI,方式相比较,,JGroups,提供了一个非常灵活的协议栈、可靠的单播和多播消息传输,主要的缺点是配置复杂以及一些协议栈对第三方包的依赖。,JGroups,也提供了基于,TCP,的单播,( Unicast ),和基于,UDP,的多播,( Multicast ),,对应,RMI,的手工配置和自动发现。,JGroups,的配置要比,RMI,复杂得多,但也提供更多的微调参数,有助于提升缓存数据复制的性能。详细的,JGroups,配置参数的具体意义可参考,JGroups,的配置手册。,分布式解决方案,JMS,与,JGroups,集群模式的配置文件,JMS,的手工配置信息如下:,。,JMS,通过多播(,multicast,)来维护集群中的所有有效节点。这也是最为简单而且灵活的方式,与手工模式不同的是,每个节点上的配置信息都相同,大大方便了节点的部署,避免人为的错漏出现 :,其中需要指定节点发现模式,peerDiscovery,值为,automatic,自动;同时组播地址可以指定,D,类,IP,地址空间,范围从,224.0.1.0,到,238.255.255.255,中的任何一个地址。,在需要进行缓存数据复制的区域(,Region,)上配置如下即可,:,分布式解决方案,JMS,与,JGroups,集群模式的配置文件,JGroups,也提供了基于,TCP,的单播,( Unicast ),和基于,UDP,的多播,( Multicast ),,对应,RMI,的手工配置和自动发现。使用单播方式需要指定其它节点的主机地址和端口,下面是两个节点,并使用了单播方式的配置:,分布式解决方案,使用多播方式配置如下:,分布式解决方案,EhCache Server,集群模式,与前面介绍的两种集群方案不同的是,,EhCache Server,是一个独立的缓存服务器,其内部使用,EhCache,做为缓存系统,可利用前面提到的两种方式进行内部集群。对外提供编程语言无关的基于,HTTP,的,RESTful,或者是,SOAP,的数据缓存操作接口。 。,EhCache Server,应用架构图,分布式解决方案,EhCache,以上我们介绍了三种,EhCache,的集群方案,除了第三种跨编程语言的方案外,,EhCache,的集群对应用程序的代码编写都是透明的,程序人员无需考虑缓存数据是如何复制到其它节点上。既保持了代码的轻量级,同时又支持庞大的数据集群。,EhCache,可谓是深入人心。,2009,年年中,,Terracotta,宣布收购,EhCache,产品。,Terracotta,公司的产品,Terracotta,是一个,JVM,级的开源集群框架,提供,HTTP Session,复制、分布式缓存、,POJO,群集、跨越集群的,JVM,来实现分布式应用程序协调。最近,EhCache,主要的改进都集中在跟,Terracotta,框架的集成上,这是一个真正意义上的企业级缓存解决方案。,分布式解决方案,Oscache,支持,jms,和,jgroup,的集群解决方案 ,与,Ehcache,的集群方案中的,jms,和,jgroup,方案一样。,从以上几种集群解决方案,可以看出,都是通过配置文件来实现的,,jms,的配置比较简单,但如果有新的节点加入,需要修改所有节点上的配置文件,灵活性不够,比较麻烦,,jgroups,配置比较麻烦,而且要依赖于第三方库,但是修改起来要方便,灵活性比较高。,Ehcache server,提供独立的缓存服务器,内部又可以通过集群配置,可通过,http,和,soap,等直接访问。,分布式解决方案,Memcached,Memcached,默认不支持集群,它是集中式的,Cache,,因此它存在单点问题(虽然数据可以分散到多台服务器上,但是还会丢失部分数据)。为了解决单点问题,,Memcache,客户端支持配置集群,可以将部署在一台机器上的多个,Memcached,服务端或者部署在多个机器上的,Memcached,服务端组成一个虚拟的服务端,对于调用者来说完全屏蔽和透明。提高的单机器的内存利用率,也提供了,scale out,的方式。其结构图为:,分布式解决方案,测试环境,测试机器的配置参数如下:,测试,client,与,server,同台机器,,Memcached,服务器端起一个实例。,各个缓存组件的性能测试,测试过程,条件,1,:,结果为:,各个缓存组件的性能测试,测试过程,条件,2,:,结果为:,各个缓存组件的性能测试,测试过程,条件,3,:,结果为:,各个缓存组件的性能测试,谢谢!,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 大学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!