I’ve got a question about the range assignor RangeAssignor (kafka 3.3.2 API) that I understand is the default now. Using the example from the doc, let’s say that there are two topics t0
and t1
each having 3 partitions p0
, p1
, p2
give us t0p0
, t0p1
, t0p2
, t1p0
, t1p1
, and t1p2
. Then let’s say that there are 4 consumers divided into 2 consumer groups cg0
(c0
, c1
) and cg1
(c2
, c3
). Each consumer group just consumes from one topic so cg0
consumes t0
and cg1
consumes t1
. Using the range assignor will result in
c0: [t0p0, t0p1]
c1: [t0p2]
c2: [t1p0, t1p1]
c3: [t1p2]
Let’s say that c0
and c2
are both running on one machine and c1
, and c3
are on another. This will result in an uneven load on the machines. Does Kafka have some way of noticing this so it can e.g. give t1p1
to c3
instead?