Ich habe 9 zünden Server Instanzen I0, I1,..., I8
, die Cache in PARTITIONED
-Modus, in dem ich Daten parallel von Partitionen P0, P1.....P8
in kafka geladen habe. Hier enthält die Partition P0, P1....P8
die Anzahl der Einträge, die durch das Feld seq_no
eindeutig identifiziert werden können, außerdem verwende ich part_ID
für die Kollokation von Einträgen von einer Partition zu nur einer Instanz. I definiert haben Schlüssel wieGleiche Verteilung von Daten zwischen Ignite-Instanzen
class key()
{
int seq_no;
@AffinityKeyMapped
int part_ID; //for collocating entries from one partition to one instance only
}
Also, ich versuche 12.59 Zuordnung zwischen Cache-Einträge in Ignite-Instanzen und Partitionen zu erreichen z.B. I0->P0, I1->P1, .......,I8->P8
. Aber in meinem Fall Mapping erhalte ich heißt,
I0-> NULL(No Entries),
I1-> P5,
I2-> NULL,
I3-> P7,
I4-> P2, P6
I5-> P1
I6-> P8
I7-> P0, P4
I8-> P3
Affinity Kollokations Teil hier erreicht wird, das heißt Einträge mit derselben Partition ID wird auf gleiche entzünden Instanz zwischengespeichert. Die Daten sind jedoch nicht gleichmäßig unter den Ignite-Instanzen verteilt, d. H. I4
und I7
enthalten die Daten von 2 Partitionen, wohingegen I0
und I2
keine Daten enthalten. Wie können wir also eine gleichmäßige Verteilung von Daten erreichen, so dass jede ignite-Instanz eine Partition erhält?