69.10. GemFile与Apusic集成

GemFire 是一个在分布式云架构中提供实时,一致性接入数据密集应用的数据管理平台。 GemFire池化内存,CPU,网络资源和本地硬盘来管理应用对象和行为。它使用动态复制和数据分块技术来实现高可用,改善性能,高扩展性和容错能力。GemFire不仅仅是一个分布式数据中心,还是提供可靠的异步事件和保证信息传输的内存数据管理系统。

GemFire为应用提供3种部署架构:peer to peer, client/server, 和 WAN gateway。

Apusic Application Server 暂时只提供client/server的架构方式存储Session。

69.10.1. 安装配置GemFile

1.从GemFile官网下载安装包后解压缩

2.设置系统环境变量,除了Java环境变量外,还要设置gemfile的运行变量,以windows为例,如下所示:

GEMFILE= F:\Pivotal_GemFire_800

GF_JAVA= %JAVA_HOME%\bin\java.exe

Path= ;%GEMFILE%\bin;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

3.启动GemFile

a.进入到gemfile安装目录的bin目录下,运行gfsh命令进入到gfsh界面下。

b.启动locator。

在gfsh下执行:start locator --name=locator2 --port=10335,其中name和port可以自定义,端口号在apusic配置中要使用。成功创建后如下所示:

c.启动server。

在启动locator后,进一步启动server,示例如下: start server --name=server2 --bind-address=192.168.101.26 --server-port=40405 --locators=192.168.101.26[10335],其中,name为server名称,bind-address为server端所在服务器地址,server-port为server监听端口,locators为第二步中创建的locator,端口为10335。

d.部署GemFile_AAS_Module.jar

在gfsh命令行下执行部署命令,例如:deploy --dir=c:\GemFire_AAS_Module.jar,部署完毕后如下所示,将在每一个server下均部署GemFile_AAS_Module.jar,如下图所示:

69.10.2. 配置apusic应用服务器

a.配置session存储

进入到apusic目录下,在AAS9\domains\mydomain\config下修改apusic.conf文件。修改session存储服务如下:

<SERVICE
CLASS="com.apusic.web.session.GemFireSessionStoreService">
<ATTRIBUTE NAME="CacheXmlFile" VALUE="config/cache-client.xml"/>
<ATTRIBUTE NAME="RegionName" VALUE="AAS_SESSIONS"/>
<ATTRIBUTE NAME="Refid" VALUE="PARTITION_REDUNDANT"/>
<ATTRIBUTE NAME="EnableLocalCache" VALUE="True"/>
<ATTRIBUTE NAME="LogFile" VALUE="logs/gemfire.log "/>
</SERVICE>

属性说明:

1) CacheXmlFile:GemFire的配置文件路径。

2) RegionName: GemFire中使用的Region的名字。AAS将使用此名字查找服务器端是否创建此Region,若无,则将创建此名字的Region。默认为:AAS_SESSIONS。

3) Refid:创建Region时的参数。参考GemFire中的Region Shortcuts。默认为:REPLICATE_PERSISTENT_OVERFLOW。

4) EnableLocalCache:是否允许本地缓存, 默认为: True。注: 只有在允许本地缓存的情况下,才能回调Session的监听的sessionDestroyed事件。

5) LogFile: GemFire的日志输出文件。默认为:logs/gemfire.log。

b.新增配置GemFire的配置文件

在AAS9\domains\mydomain\config下新增配置GemFire的配置文件cache-client.xml,内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE client-cache PUBLIC
  gemStone Systems, Inc.//GemFire Declarative Caching 8.0//EN"
  "http://www.gemstone.com/dtd/cache8_0.dtd">
<client-cache> 
  <!-- To configure the client to use a locator instead of a server, modify 
	the locator host and port as necessary. -->
 <pool name="sessions" subscription-enabled="true">
	 <locator host="localhost" port="10335"/>
	  </pool> 
</client-cache>
   
   

3.将GemFire_AAS.jar拷贝至apusic_home的lib目录下,例如:AAS9\domains\lib。

69.10.3. 启动apusic应用服务器

配置完毕后,进入到APUSIC_HOME\domains\mydomain\bin目录下,运行startapusic启动apusic应用服务器即可。