Alpakka / Kafka - разделы расходуются быстрее других - PullRequest
0 голосов
/ 06 сентября 2018

Я использую alpakka kafka для потоковой передачи данных из тем kafka.Я использую:

Consumer
      .committableSource(consumerSettings, Subscriptions.topics(topic))

Недавно я пытался спамить больше потребителей, таких как 3, по теме, состоящей из 15 разделов.Когда я подключаю больше потребителей с одинаковым идентификатором группы, он любезно разделяет 5 разделов на каждого потребителя, но, похоже, он не использует все разделы одновременно, кажется, что он читает один за другим или читает определенный раздел гораздо быстрее, чем другие..

|Partition|LogSize  |Consumer Offset|Lag      |
|0        |8,429,145|      6,087,144|2,342,001|
|1        |8,424,948|      6,223,257|2,201,691|
|2        |8,428,121|      7,764,854|  663,267|
|3        |8,421,528|      6,071,425|2,350,103|
|4        |8,434,659|      7,351,552|1,083,107|
|5        |8,428,323|      5,935,336|2,492,987|
|6        |8,424,974|      6,455,301|1,969,673|
|7        |8,431,820|      7,763,984|  667,836|
|8        |8,425,999|      6,370,962|2,055,037|
|9        |8,416,354|      6,681,093|1,735,261|
|10       |8,416,217|      6,814,949|1,601,268|
|11       |8,428,026|      5,878,703|2,549,323|
|12       |8,424,604|      8,424,589|       15|
|13       |8,431,019|      8,431,019|        0|
|14       |8,423,218|      8,423,218|        0|

Вот реальный пример производственного приложения, которое я запускаю.Поэтому у меня есть несколько вопросов:

Можно ли читать некоторые разделы намного быстрее, чем другие?

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

Должен ли я изменить способ, которым я потребляю?Должен ли я использовать источник для каждого раздела или есть другой вариант?

Обновление

Я подозревал, что это может произойти при подключении нескольких потребителей (подробнееодно приложение), но сегодня это произошло с использованием только одного потребителя, что можно увидеть, взглянув на группу потребителей, которая одинакова.

enter image description here

В то время, когда это произошло, у меня было 20 ММ сообщений, все еще ожидающих обработки (задержка).Вышеуказанная фотография сделана у менеджера Kafka, имеющегося у нас в компании.

1 Ответ

0 голосов
/ 17 июля 2019

Мы решаем эту проблему, удаляя один из наших компонентов, которые реплицировали сообщения из одной темы в другую.

По сути, производители писали в тему, и этот компонент реплицировал эти сообщения в другую тему с включенным сжатием, сохраняя последнее состояние для данного идентификатора. Оказывается, этот компонент не работал должным образом, и у потребителей, связанных с этой темой уплотнения, были некоторые проблемы.

Итак, в конце концов, кому нужна тема уплотнения, пусть производители пишут в нее напрямую.

...