При использовании нескольких входных тем влияет ли различная частота сообщений на входные темы на скорость обработки потоков kafka? - PullRequest
0 голосов
/ 22 апреля 2020

У меня есть 10 входных тем (таблица topi c на mysql), из которых я читаю, в моем приложении kafka streams. Некоторые темы имеют очень низкую скорость сообщений, в то время как другие имеют немного более высокую скорость сообщений. Редко пара тем может иметь всплеск сообщений. Интересно, будет ли остановлена ​​обработка потоков kafka на более быстрых темах из-за низкой скорости сообщений на более медленных темах? И если мне нужно создать отдельные исходные узлы в топологии, чтобы изолировать более медленные темы от более быстрых тем.

Приложение «Мои потоки» извлекает информацию из входного сообщения, переходит в другой сервис для получения дополнительных данных и записывает их в выходной файл kafka topi. c.

1 Ответ

1 голос
/ 26 апреля 2020

Это зависит ...

Если разные темы обрабатываются разными под-топологиями (см. Вывод Topology#describe()), чем каждая топика c обрабатывается индивидуально и не оказывает влияния, если разные темы имеют другая скорость передачи данных.

Если вы объединяете или объединяете несколько тем (и, таким образом, они обрабатываются одной и той же подтопологией), чем прогрессирование тем «соединено». Эта связь основана на метках времени события . Таким образом, топи c с более высокой скоростью передачи данных, скорее всего, имеет «более плотные» временные метки записи и, следовательно, получает больше обработанных данных, чем топи c с более низкой скоростью передачи данных. Например:

// just showing timestamps
topic-1 (partition-0): 3 13 23 33 43 53 63 73 83 93 103 113...
topic-2 (partition-0):  5              55             105

processing order:
3 5 13 23 33 43 53 55 63 73 83 93 103 105 113

Следовательно, для каждой записи topi c -2 будет обработано 5 записей topi c -1.

...