Infinispan集群

时间:2013-06-20 05:29:54

标签: infinispan

我需要在分布式模式下构建一个infinispan集群。此缓存用于存储会话数据。目前我使用的是来自Jboss团队的Manik开发的tomcatInfinispanSessionManager

我已经在分布式模式下创建了infinispan xml,并使用两个tomcats进行测试。使用apache作为负载均衡器。每台机器都有自己的infinispan缓存条目副本。当任何tomcat关闭时,会话将从其他infinispan缓存中检索。

我的问题是:如何将此缓存条目放入在单独的计算机上运行的infinispan服务器(使用hotrod / memcached)?

2 个答案:

答案 0 :(得分:3)

如果您向缓存配置添加remote cache loader,它会在远程Hot Rod服务器中备份数据,假设您正确配置了Hot:Hot Rod服务器的端口地址

但是,如果您正在尝试群集会话数据,我强烈建议您下载JBoss EAP 6.1,它随附基于Infinispan的群集就绪会话数据存储。会话缓存仍然可以配置远程缓存加载器,但配置会略有不同,因为它使用JBoss EAP配置格式。

答案 1 :(得分:1)

我正在使用ispn 5.1版本并以hotrod模式启动服务器。我的缓存配置xml如下。

<?xml version="1.0" encoding="UTF-8"?>
<infinispan xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="urn:infinispan:config:5.3 http://www.infinispan.org/schemas/infinispan-config-5.3.xsd
                       urn:infinispan:config:remote:5.3 http://www.infinispan.org/schemas/infinispan-cachestore-remote-config-5.3.xsd"
    xmlns="urn:infinispan:config:5.3" xmlns:remote="urn:infinispan:config:remote:5.3">
<global>
        <transport clusterName="tomcatSession">
            <properties>
                <property name="configurationFile"
                    value="E:/Software/apache-tomcat-7.0.34/conf/jgroups.xml">
                </property>
            </properties>
        </transport>
        <globalJmxStatistics enabled="true" />
    </global>
    <namedCache name="tc_session_ispn-sess-mgr">
        <clustering mode="distribution">
            <l1 enabled="true" lifespan="600000" />
        </clustering>
        <loaders>
            <remoteStore xmlns="urn:infinispan:config:remote:5.3"
                fetchPersistentState="false" ignoreModifications="false"
                purgeOnStartup="false" remoteCache="myCache" rawValues="true">
                <servers>
                    <server host="10.145.4.172" port="11222" />
                </servers>
                <connectionPool maxActive="10" exhaustedAction="CREATE_NEW" />
                <async enabled="true" />
            </remoteStore>
        </loaders>
    </namedCache>
</infinispan>

使用此缓存配置xml时,我得到以下异常

Exception in thread "main" org.infinispan.config.ConfigurationException: javax.xml.stream.XMLStreamException: ParseError at [row,col]:[39,104]
Message: Unexpected element '{urn:infinispan:config:remote:5.3}remoteStore' encountered
    at org.infinispan.configuration.parsing.Parser.parse(Parser.java:168)
    at org.infinispan.configuration.parsing.Parser.parse(Parser.java:130)
    at org.infinispan.manager.DefaultCacheManager.<init>(DefaultCacheManager.java:368)
    at org.infinispan.manager.DefaultCacheManager.<init>(DefaultCacheManager.java:340)
    at org.infinispan.manager.DefaultCacheManager.<init>(DefaultCacheManager.java:327)

如果我错了,请纠正我并建议如何继续进行?