1. Как сообщения принимаются / потребляются из двух тем (один общий идентификатор группы, одна и та же схема и ключ / значение) в одном потребителе. Допустим, потребитель читает данные каждую секунду. Producer1 создает 50 сообщений для Topic1, а Producer 2 создает 1000 сообщений для Topic2.
Любой потребитель Kafka может упомянуть список тем, поэтому никаких ограничений по этому поводу нет.
Так что если у вас есть один потребитель, он будет отвечает за все разделы как Topic1, так и Topic2.
2. Будет ли он читать все сообщения (1000 + 50) в одном пакете и обрабатывать их вместе в рабочем процессе, ИЛИ собирается ли сначала прочитать 50 сообщений, обработать их, а затем прочитать 1000 сообщений и обработать их?
3. Какой параметр я должен использовать для контроля количества сообщений, читаемых в одном пакете в секунду.
Ответ на оба 2,3 вопроса:
Он получит все сообщения вместе (1050) или даже больше, в зависимости от вашей конфигурации.
Чтобы потребитель мог получать пакетами по 1050 или более, увеличьте max.poll.records
(по умолчанию 500) до 1050 (или более); другие конфигурации могут быть узким местом, но вы должны быть согласны с остальными для конфигураций по умолчанию.
4. Будет ли тот же идентификатор группы создавать какие-либо проблемы при потреблении.
Тот же идентификатор группы будет влиять на вас, если вы создадите более одного потребителя, заставляя потребителей разделять разделы, за которые они отвечают, между темами.
Кроме того, если ваш потребитель умирает или останавливается по какой-то причине, вы должны восстановить его с тем же идентификатором группы, таким образом, потребитель «запоминает» последнее использованное смещение и удерживается от точек, которые он остановил.
Если у вас возникнут какие-либо проблемы в отношении вашего потребителя, я предлагаю вам прочитать дополнительную информацию в этой статье , это глава 4 от Kafka: «Полное руководство», в которой подробно рассказывается о потребителях и следует ответить на дополнительные вопросы.
Если вы хотите изучить параметры конфигурации, документация всегда полезна.