私は935のigniteサーバインスタンスI0, I1,..., I8
を持っています。これは、からパラレルでkafkaのデータをロードしているPARTITIONED
モードのキャッシュを持っています。ここでパーティションP0, P1....P8
には、フィールドseq_no
で一意に識別できるエントリの数が含まれています。また、1つのパーティションから1つのインスタンスのみにエントリを配置するのにpart_ID
を使用しています。私はそうIgniteインスタンス間でのデータの均等分配
class key()
{
int seq_no;
@AffinityKeyMapped
int part_ID; //for collocating entries from one partition to one instance only
}
、とキーが定義されている、私は、発火のインスタンスやパーティションなどにキャッシュエントリの間に1対1のマッピングを達成しようとしています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を持つエントリが発火同じインスタンス上にキャッシュされます、IS取得しています。しかし、データが点火インスタンスに均等に分配されていない、すなわち、I4
およびI7
が2パーティションのデータを保持し、I0
およびI2
にデータが含まれていない。だから、ここでどのようにデータを均等に分配して、各igniteインスタンスが1つのパーティションデータを取得できるのでしょうか?