У меня есть сценарий, в котором есть несколько тем Kafka (по одному разделу) и одна группа потребителей для использования записей. Я использую единого сопоставленного потребителя шаблона в группе потребителей, который соответствует всем темам и, следовательно, потребляет все записи во всех темах.
Теперь я хочу расширить это и сделать так, чтобы несколько потребителей (в одной группе потребителей) слушали все темы. Однако это, похоже, не работает, поскольку все записи потребляются только первым потребителем в группе, что делает других потребителей в группе бесполезными. Кроме того, я использую потребителей как отдельные потоки, используя ExecutorService
.
. Как мне этого добиться? Ниже мой код:
Pattern pattern = Pattern.compile(topicPattern); consumer.subscribe(pattern);
Шаблон, отправленный в приведенном выше коде, таков, что он совпадает с именами всех тем, например.
Если названия тем sample_topic_1
, sample_topic_2
et c, мы сопоставим их с sample_topic_*$
.