【发布时间】:2017-02-13 19:29:01
【问题描述】:
我有 9 个 ignite 服务器实例 I0, I1,..., I8,它们在 PARTITIONED 模式下具有缓存,其中我从 kafka 中的分区 P0, P1.....P8 并行加载数据。这里分区P0, P1....P8 包含可以由字段seq_no 唯一标识的条目数,我也使用part_ID 将条目从一个分区仅配置到一个实例。我已将 key 定义为,
class key()
{
int seq_no;
@AffinityKeyMapped
int part_ID; //for collocating entries from one partition to one instance only
}
所以,我试图在 ignite 实例和分区中的缓存条目之间实现一对一的映射,例如I0->P0, I1->P1, .......,I8->P8。但就我而言,我得到的映射是,
I0-> NULL(No Entries),
I1-> P5,
I2-> NULL,
I3-> P7,
I4-> P2, P6
I5-> P1
I6-> P8
I7-> P0, P4
I8-> P3
在这里实现了关联配置部分,即具有相同分区 ID 的条目被缓存在同一个 ignite 实例上。但是,数据在 ignite 实例之间分布不均,即 I4 和 I7 拥有 2 个分区的数据,而 I0 和 I2 不包含任何数据。那么这里如何实现数据的平均分配,让每个ignite实例得到一个分区数据呢?
【问题讨论】: