У меня есть 9 экземпляров сервера-активистов I0, I1,..., I8
, у которого есть кеш в PARTITIONED
режиме, в котором я параллельно загружаю данные из разделов P0, P1.....P8
в kafka. Здесь раздел P0, P1....P8
содержит количество записей, которые могут быть однозначно идентифицированы по полю seq_no
, также я использую part_ID
для сопоставления записей из одного раздела только в один экземпляр. Я определил, как ключ,Равное распределение данных между экземплярами Ignite
class key()
{
int seq_no;
@AffinityKeyMapped
int part_ID; //for collocating entries from one partition to one instance only
}
Итак, я пытаюсь достичь один в один отображении между записями кэша в воспламенить случаи и перегородки например 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
Affinity коллокация часть достигается здесь есть записи с таким же идентификатором секции получают кэшируются на одном воспламенить экземпляр. Но данные неравномерно распределены между экземплярами воспламенения, то есть I4
и I7
содержат данные из двух разделов, тогда как I0
и I2
не содержат никаких данных. Итак, как мы можем добиться равного распределения данных, чтобы каждый экземпляр воспламенения получал один раздел данных?