Infinispan网格缓存框架.doc

  1. 1、本文档共30页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Infinispan网格缓存框架.doc

What is Infinispan_CN(什么是Infinispan) 版本 1 创建于: 2010-10-25 上午5:58 作者 jombo wang - 最后修改: 2010-10-28 上午4:52 作者 jombo wang Infinispan是一个开源的数据网格平台.它对外发布了一个兼容 JSR-107 的Cache 接口(该接口继承了java.util.Map) ,你可以通过该接口来存储对象。 In?nispan可以以本地模式运行, 然而它的真正价值在于分布式模式,通过分布式模式可以将缓存集聚起来形成一个巨大的堆内存。分布式模式相对于简单复制要强大的多,因为每个数据项分布在固定数目的节点上,因此使得服务器可以进行错误恢复,又由于存储一个数据项的工作量相对于集群的大小是恒定的,这使得服务器具备了可扩展性。 那么,为什么要选择Infinispan·?Infinispan具有以下特性 : 大容量堆内存和高可用性– 假设你有100个刀片服务器, 并且每个节点有2GB的空间用于复制缓存,最终你获得的总数据量的大小为2GB. 每台服务器仅仅是一个拷贝。相反,借助于分布式网格-假设你的每份数据只有一份拷贝- 你将获得100GB的的备份虚拟堆内存,并且在网格中的任何位置都能访问。如果某台服务器崩溃了, 网格只需要简单地创建一份丢失数据的新副本,并将它们放到另一台服务器上。应用也无需再借助于一个巨大的独立数据库来获取数据以追求最大性能的 - 这是80%以上的企业应用中的瓶颈所在! 扩展性– 由于数据是均匀分布的,所以除了考虑到网络上的组通讯,根本就没有必要来限制网格的大小 - 网络上的组通讯只要能够发现一个新的节点即可. 所有的数据获取方式都是通过点对点通信,即节点之间直接进行通信,非常容易控制。 Infinispan的增加或者减少不需要关闭整个服务。 简单的添加删除集群中的机器不会引发任何服务中断。 数据分布 – Infinispan使用一致性哈希算法来决定集群中键值的存储位置。 一致性哈希算法成本低,速度快并且最重要的是不需要额外的元数据或者网络通信就能确定键值的位置。 数据分布的目的是为了在集群环境下保持足够的状态副本以使其具备可持续性和容错性,但是又不会有过多的副本而阻碍 Infinispan的可扩展性。 持久化– In?nispan 暴露了一个 CacheStore 接口和几个高性能的实现- 包括JDBC CacheStores, 基于文件系统的 CacheStores以及Amazon S3 CacheStores等等. CacheStores可以用于“热启动”, 或者用于确保重启整个表格时数据不丢失, 或者设置成当耗尽内存时能够将数据写到硬盘。 语言绑定 – (PHP, Python, Ruby, C, 等等.) - Infinispan计划实现一个语言独立的服务器模块。它既将会支持流行的的memcached协议(几乎是任何主流语言实现的)也会支持名称为Hot Rod的Infinispan特定协议. 这就意味着Infinispan不仅仅适用于Java。任何想要使用快速数据网格的主流站点或者应用都将可能选择Infinispan。 管理– 当你考虑在数百个服务器上运行这个表格时,管理就不再是额外的,它变成了一种必须。管理多个分布在不同服务器上的Infinispan实例的首选方式是使用 JOPR ,JOPR 是JBoss 企业级管理解决方案。由于 JOPR的代理和自动发现特性,监控Cache Manager 和 Cache实例就变得非常简单。 支持表格计算 – 路线图中还包括支持网格中运行可运行程序的能力。 你将能够将复杂处理放到服务器,数据却是本地数据,然后获取数据。map/reduce 模式在需要计算大量数据来获取少量结果的应用中是十分常见的 Eviction Examples_CN(Eviction示例) 版本 2 创建于: 2011-1-11 上午11:13 作者 jombo wang - 最后修改: 2011-1-11 下午12:57 作者 jombo wang 下面是关于Eviction和Expiration的注意点: Expiration是一个顶层结构,可以通过配置或者cache API定义。之后我们会有更多的阐述。 Eviction针对的是本地缓存实例,Expiration针对的则是整个集群范围内的节点。Expiration的lifespan和maxIdle的值会在缓存每个数据项间进行复制。 Expiration的lifespan和maxIdle的值会持久化到CacheStores,所以这些信息也能够被eviction或者passivati

文档评论(0)

dmz158 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档