JBoss Data Grid是Red Hat中间件产品(http://www.redhat.com/products/jbossenterprisemiddleware/data-grid/),JBoss Data Grid是基于开源社区产品Infinispan(http://infinispan.org/)。 企业版的JBoss Data Grid与社区版的Infinispan代码完全一样,所以本部分内容基于Infinispan进行。
概述
JBoss 系列三十一:Infinispan 缓存模式中我们讨论了Infinispan的本地缓存和集群缓存,其中图1,图2,图3分别描述了Infinispan集群缓存的分布式模式,复制模式,失效模式,本示例展示或说明这些模式,具体类似图中所示,本示例演示的三种集群模式都是四个节点构成一个网格,数据在四个节点间进行复制。同样我们也使用单一节点演示非集群的本地模式。本示例可通过图形化和命令行的方式来操作各个节点,我们可以清晰的看到数据复制的结果。
Infinispan缓存模式示例架构
如下图所示,我们假设示例中有4个Infinispan缓存实例构成4个节点的数据网格,
我们将Infinispan缓存模式示例分为两部分,核心部分和展示部分。核心部分包括Infinispan和jGroups,我们知道jGroups是群组通信工具包,Infinispan基于jGroups构建一个分布式数据网格平台,这部分包括Infinispan启动,配置等主要逻辑。展示部分指的是显示界面,我们通过显示界面可以操作数据网格,改变网格中的数据,展示Infinispan缓存模式,我们有二种界面:
- GUI - Java SWT构建的图形化界面
- console- 传统的命令行界面
运行Infinispan缓存模式示例
根据JBoss Cluster Framework Demo 介绍所示的方法,任意从SourceForge下载或编译生成DEMO_HOME,示例运行启动脚本位于DEMO_HOME/bin目录下,本示例相关的Infinispan配置文件位于DEMO_HOME/conf目录下。如果以命令行方式运行本示例,我们需要了解本示例所支持的命令,Infinispan缓存模式示例支持的命令如下表: