Infinispan是Jboss Cache缓存框架的后续项目,它是一个开源的数据网格平台,用于访问分布式状态的群集节点。GridFileSystem(网格文件系统)是一个全新的实验性的API,这些API使InfiNispan后端的网格数据像“文件系统”一样展示出来。这一系列API继承了JDK的File,InputStream和OutputStream类,创建了相应的:GridFile,GridInputStream和GridOutputStream类。还有一个帮助类GridFilesystem,也被包含在这个框架里面。这些API在Infinispan 4.1.0版本中就可以使用了(从4.1.0.ALPHA2 版起)。
GridFilesystem包含两个Infinispan缓存器:一个用于元数据缓存(通常是完全复制),另外一个是用于实际数据的缓存(通常是分布式)。前一个复制缓存器使每个节点在本地都有元数据信息,像列出文件列表之类的任务就不必使用RPC远程过程调用了。后一个是分布式缓存器,当存储空间的容量用光的时候,就需要一种可扩展的机制来存储这些数据。所有的文件都被分块,每个块都存储为一个缓存项。
在这篇文章里面我们关注的特性是Infinispan的分布式模式。该模式增加了“分布式”特性,这是一种基于哈希一致性的技术。JBossCache框架只支持“复制”模式(就是在群集里面的每一个节点都向其它节点复制所有的数据)。
完全复制技术可以很好的用于小型群集,或者是在每个节点的存储数据量都相对较小的情况。在群集中,当每个节点都向其它节点复制数据的时候,每个节点的平均数据存储容量都与这个群集的大小以及数据的容量有关。这种复制的优点在于它通常只在本地节点读取数据,因为每个节点都拥有这些数据;另外,当群集中有新节点加入或者需要移除现存节点的时候,它也不需要重新进行负载均衡。
另一方面,当你需要快速访问大型数据集合,并且又无法忍受从磁盘(譬如:数据库)中检索数据时, 内存网格文件系统将是一种更好的解决方案。
发布于 2014-12-05 23:47:30 | 118 次阅读