Apache Ignite Data Region行为

时间:2018-06-18 10:24:43

标签: ignite

我在apache点火集群中实现数据区域,该集群有4个节点,每个节点有20GB RAM。我对数据区域配置有些怀疑。

  1. DataRegionConfiguration maxMemory是否基于所有节点内存配置?(意思是,如果我们在maxMemory中配置10GB,那么它将为所有节点创建单个数据区域,剩余内存将为4 * 20-10 = 70GB)
  2. 我们可以根据数据区域配置来绑定节点吗?(意思是,与特定区域相关联的Cache应该将缓存数据存储在特定节点上,而不是在所有节点上进行分区)

1 个答案:

答案 0 :(得分:1)

  1. class Config { //... some config code ... @Profile("cloud") static class CloudConfig extends ApplicationCloudConfig { //cloud config related code } @Bean @Profile({"local"}) public DataSource dataSource() { //data source config } } 对于每个节点都是本地的。如果将max size设置为10Gb,则表示单节点为10Gb。如果启动具有相同配置的两个节点,则总大小为20Gb。

  2. 您可以为一个或多个节点配置任何数据区域,换句话说,每个节点都有单独的配置。然后,您可以设置node filter,它将定义可以存储缓存的节点集。要从XML配置它,您可以使用AttributeNodeFilter并在IgniteConfiguration中为适当的节点设置属性。这样,您可以使用节点过滤器+节点属性为所需节点设置数据区域并在该节点上设置缓存。