Несколько потребительских потоков с использованием соединителя Alpakka - PullRequest
0 голосов
/ 01 мая 2019

Я использую соединитель Alpakka kafka для приема пакетов от kafka. Я использую Consumer в качестве CommittableSource. Я хотел бы создать несколько потребительских потоков на одной машине и использовать их в качестве единого источника. Как я могу этого достичь?

В настоящее время я создал несколько источников, используя Consumer.CommittableSource, и объединяю все источники в один источник, используя функцию «слияние». Но я не уверен, что это правильный подход, так как я не создаю темы.

Ниже приведен исходный код, который я сейчас использую:

public Source<ConsumerMessage.CommittableMessage<String, String>, Consumer.Control> source() {
Source finalSource = Source.empty();
        for (int index = 0; index < consumerConfig.getNoOfConsumers(); index++) {
            finalSource = finalSource.merge(Consumer.committableSource(consumerSettings, subscription));
        }
return finalSource;
}

1 Ответ

0 голосов
/ 06 мая 2019

Что заставляет вас верить, что вам нужно больше тем?Более того, вам захочется использовать один экземпляр клиента-потребителя Kafka для нескольких потоков.

Не следует объединять элементы из нескольких Consumer.committableSource в один поток, это не будет работать с пакетной фиксацией.

Будет ли запускать одну и ту же настройку потока несколько раз?

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