Как сбалансировать сообщения в темах кафки с недавно добавленными разделами - PullRequest
0 голосов
/ 27 января 2019

У меня есть кластер kafka с определенной темой, в котором было слишком мало разделов, поэтому было собрано большое количество сообщений.После добавления дополнительных разделов только новые сообщения балансируются между всеми новыми разделами.

Каков предпочтительный способ сбалансировать «старое» отставание сообщений внутри исходных разделов по всем новым разделам?

Я подумал о том, чтобы прочитать и снова записать все сообщения, оставшиеся в этой теме, и соответствующим образом обновить смещения, но произойдет дублирование сообщений, если новая группа потребителей начнет потреблять с начала этой темы.

1 Ответ

0 голосов
/ 27 января 2019

Вы можете переназначить разделы новым брокерам, но перемещение существующих сегментов разделов другим не будет работать.

Вам нужно будет использовать все данные, перенести их в новую тему с большим количеством разделов, чтобы распространить их обратно, и если вы действительно заботитесь о том, чтобы данные не имели повторного чтения потребителями, вам потребуетсяотслеживать, какие данные были использованы, в идеале по некоторому UUID, сгенерированному на стороне производителя, а не просто по смещению или отметке времени.Или вы можете координировать остановку производителей, попросить ваших потребителей прочитать оставшуюся часть сообщений, а затем перенести производителей и потребителей в совершенно новую тему с большим количеством разделов.

...