我是gridgain的新手,我们正在使用gridgain进行POC。我们使用分区缓存做了一些简单的例子,它运行良好但是我们发现当我们关闭节点时,来自该节点的缓存消失了。所以我的问题是:如果我们继续使用patitioned模式,是否有任何方法在取消部署节点(或多个节点)时重新分配缓存。如果没有,有什么好办法吗?谢谢!
配置代码:
<context:component-scan base-package="com.test" />
<bean id="hostGrid" class="org.gridgain.grid.GridSpringBean">
<property name="configuration">
<bean class="org.gridgain.grid.GridConfiguration">
<property name="localHost" value="127.0.0.1"/>
<property name="peerClassLoadingEnabled" value="false"/>
<property name="marshaller">
<bean class="org.gridgain.grid.marshaller.optimized.GridOptimizedMarshaller">
<property name="requireSerializable" value="false"/>
</bean>
</property
<property name="cacheConfiguration">
<list>
<bean class="org.gridgain.grid.cache.GridCacheConfiguration">
<property name="name" value="CACHE"/>
<property name="cacheMode" value="PARTITIONED"/>
<property name="store" >
<bean class="com.test.CacheJdbcPOCStore"></bean>
</property>
</bean>
</list>
</property>
</bean>
</property>
</bean>
我们将相同的战争(使用上述配置)部署到3个tomcat 7服务器。我们没有指定备份数,因此默认情况下它应该是1。
跟进
我通过在配置中放置backups = 1解决了这个问题。看起来像以前它没有创建备份副本。但它应该制作1份,因为它是默认的。另外,当我试图同时关闭2个节点时,我看到部分缓存消失了,所以我设置了备份= 2,这次没有发现缓存丢失。所以看起来如果在一个非常糟糕的情况下,除了主节点之外的所有节点都崩溃了,我们需要有#节点-1备份以防止数据丢失。但如果我这样做,那就像复制模式一样,复制模式对查询和事务的限制较少。所以我的问题是:如果我们需要利用并行计算的优势,并且在节点崩溃时希望防止数据丢失,那么最佳做法是什么?
谢谢!
答案 0 :(得分:0)
0
。文档已修复。